목록Shader (2)
Libwan
지난 POM에 이어서, 경사면에서 POM이 적용된 Material이 왜곡되는게 눈에 밟혀 수정해보고 싶었다. 이는 다른 Displacement 등의 깊이 표현시에도 생기는 고질적인 문제인데, 평면에서 Uv를 offset하여 경사를 표현하기 때문에 그만큼 Material에 왜곡이 생길 수 밖에 없는것. 경사가 덜하면 그만큼 왜곡이 덜하겠지만, 위의 이미지처럼 경사가 격해질경우 눈에 띄는 왜곡이 보인다. 우리는 평면을 착시해 보고있기 때문에, WorldPosition 으로 접근해 해결할 수는 없고, POM의 계산된 픽셀의 WorldPosition을 필요로 하는데, POM 계산시 해당 XY좌표와 Heightmap의 값을 받아 좌표로 가져오자. POM의 적용된 평면의 WorldPosition을 획득했으니 XZ ..
Parallax Occlusion Mapping (POM) 표면의 깊이 디테일을 표현하기 위한 그래픽스 기법중 하나. 유사한 결과를 낼 수 있는 다른 기법으로는 Bump offset , Displacement 등이 있음. 기법 특성상 평평한 면을 기준으로 음각을 표현하는데 특화 Parallax Mapping 의 골자는 카메라가 평면(Fragment)의 한 점 P0 를 바라볼때 HeightMap(깊이) 가 고려된 Texture의 한 점 P1'를 나타내는 Texcoord P1 을 찾아 P0의 좌표를 P1으로 옮기는것임. 따라서 P1'의 근사치 P2'를 구하기 위해 우리는 P0의 카메라벡터에 역수를 취한 벡터를 보정한 값 V0에 P0'를 곱하여 P2'를 찾는다. (경사가 음각이 주를 이룰경우 일반적으로 정규화..