Featured image of post Skin_reflection 쉐이더 완성

Skin_reflection 쉐이더 완성

완성이라고 하기에는 좀 뭣하지만 하여간 일단락.

겜브리오 스레드라고 보기에도 좀 뭣한게 , fx 파일로 이루어진 쉐이더라.

하여간 완성.

사실은 그냥 리펙토링만 하려 했는데 정리하다보니 욕심 + 아이디어가 생겨서 reflection 값에 프레넬 공식을 도입, 바깥 부분의 반사를 없애버렸다.
완전히 리얼하다고 하기에는 무리가 있지만, 잘만쓰면 재미있게 나올듯.

일단 아래 예제는 프레넬 값을 매우 높여 효과를 잘 볼 수 있게 만들어 놓은 것인데,
적당히 조절하면 노말값에 따른 반사 정도를 조절할 수 있겠다.


핵심 코드는 리플렉션에 프레넬 항을 역으로 곱해주는 것인데, 그것만 해서는 최종적으로 반사가 없어지는 부분에 검은 색의 마스크 모양이 그대로 나타나더라.
그도 그럴 것이, 픽셀쉐이더에서 픽셀을 업데이트 해주다가 그러는 것이니..
그래서 일단 텍스쳐를 같은 마스크에 씌워서 넣어주어 해결했다.

그치만 생각해보니 이 공식보다는 += 를 써서 base 텍스쳐에 누적시켜버리는 것이 더 간단하지 않을까.

Hugo로 만듦
JimmyStack 테마 사용 중