■ Diffuse Warping
Valve 사에서 발표한 그래픽스 관련 논문에 소개된 기법이다. Warp Diffuse 혹은 Ramp Texture라고도 불린다. 이 기법은 빛 계산으로 쓰이는 공식인 노말과 라이트 벡터의 내적을 uv에 대응하는 기술이다.
아래 코드를 확인해야한다.
텍스처의 좌하단을 기준으로 (0, 0)부터 시작한다. 가로축은 u 세로축은 v. 위 코드 속 ramp 텍스처를 uv에 대응시키는 구간을 보면 RamTexture의 y축은 0.5를 고정하고 x축은 서서히 ndotl의 값에 따라 0~1사이의 값을 가져다 사용하도록 작성하였다. 이의 결과물은 아래와 같다.
이제 노말맵과 메인텍스처의 알베도 값을 혼용하여 적용해보겠다.
그럴싸해졌다. 여기서 앞서 배운 Half Vector와 노말의 내적인 스페큘러를 적용하고 ramp texture의 rgb값을 10% 증가시켜보겠다.
서서히 음영이 지는 것을 확인할 수 있었다.
[GIF]
아래 gif를 통해 카메라의 위치와 각도에 따라 가져다 사용할 uv의 좌표가 달라지므로 서서히 음영이 달라지는 것을 확인할 수 있었다.
'Computer Graphics > ShaderLab, HLSL' 카테고리의 다른 글
[ShaderLab] 알파 블렌딩 (Alpha Blending) (0) | 2024.03.06 |
---|---|
[ShaderLab] Cubemap (with MaskMap) (0) | 2024.03.05 |
[ShaderLab] NPR - 2Pass, Fresnel (0) | 2024.03.04 |
[ShaderLab] Blinn-Phong, Gloss Map, Fake Specular (0) | 2024.03.03 |
[ShaderLab] Rim Light, Hologram (0) | 2024.03.03 |