어제 오늘 뻘짓한 쉐이더의 핵심.
Ray length : 반사/굴절이 일어난 직후로부터의 광선 이동거리를 잰다.
Backfacing : 뒷면인지 아닌지 판단.
Backfacing이 뒷면일 때 1, 앞면일 때 0이므로 둘을 곱하면 '뒷면에 닿을 때 = 즉 내부에서 바깥으로 나갈 때에만 광선 길이를 재'게 됨.
결과적으로 내부의 광선 이동거리만 재게 됨
플라스틱 내부에서 광선이 이동할동안 거리에 따라 '비율적으로' 수치가 변화할 거라 생각하는것이 합리적임. 예를 들어 1mm 당 10% 씩 확산이나 흡수가 일어난다고 생각하는 것임
이 말인 즉슨 거리에 따라 '지수함수적으로' 값이 줄어든다는 말이므로 0에서 1 사이 값을 밑으로 두고 지수계산을 하면 됨
문제는 이 계산결과를 어디다 꽂느냐인데 다른 모든 시도는 실패하고 emission에 꽂았음
결과는 보시다시피 꽤 괜찮은데 문제는 주변광원과 반응하는게 아니라 자체발광하므로 (ㅋㅋ) 주변 빛에 따라 내가 쉐이더를 손으로 조절해야함
대부분의 3D프로그램이 주변광의 세기를 잴 수 없기 때문에 근본적 해결은 불가능