Beer의 법칙 (물체를 통한 거리에 걸친 색 흡수)을 구현할 때 어떤 이유로 든 좋아 보이지 않습니다.
객체 뒤에 색상이 있으면 다음과 같이 조정 된 색상을 계산합니다.
const vec3 c_absorb = vec3(0.2,1.8,1.8);
vec3 absorb = exp(-c_absorb * (distanceInObject));
behindColor *= absorb;
그러면 다음과 같은 내용이 나옵니다 (약간의 굴절 적용).
이것은 여기서 셰이더 장난감으로 구현됩니다 .
이는 Beer의 법칙에 대한 설명을 충족하지만 다음과 같은 샷과 비교할 때별로 좋지 않습니다.
스페 큘러 하이라이트는 제쳐두고 차이를 알아 내려고 노력하고 있습니다. 내 지오메트리가 너무 단순해서 실제로 잘 보여줄 수 없을까요? 아니면 잘못 구현하고 있습니까?