목록전체 글 (13)
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'를 찾는다. (경사가 음각이 주를 이룰경우 일반적으로 정규화..
이펙팅에서 주로 쓰이는 Radial Panning 을 구현하기 위해서 알고 있는 큰 두가지 방식은 Shader 내에서 Texture UV를 (U - Radian / V - 중심에서의 길이) 를 기준으로 변형하거나, DCC(3dsmax, Blender, rhino etc..)에서 해당 기준으로 UV가 작업된 Disk Mesh 등을 준비하는 것이다. 다만 이 경우 Texture의 UV를 원형으로 변형하는것이기 때문에 기존 Texture를 바탕으로 UV가 변형된(원형으로 잡아당겨진) 모습을 유추해가며 작업해야하는 특징이 있는데, Texture의 변형 없이 중심점에서 Panning 하는 Material Function을 가지고 싶었음. 이유는 중심에서 Panning이 필요할때 좀더 직관적인 Texture 작업을..