normal mapping artifacts

예전에 디자이너가 게임 케릭터를 확대해 보면 위와 같이 specular가 각져보인다고 말했다. 당시에는 일정이 바빳고 어차피 모바일게임에서 케릭터를 그정도 까지 확대할 일이 없어서 그냥 넘어갔었는데 어쩌다 보니 눈에 보여서 살펴보게되었다. 우선 원인은 normalmap으로 부터 얻은 normal값이 0~1의 범이기 때문에 *2 -1의 연산이 들어가게 되는데 이 과정에서 normalize를 안해주었던 것이다. vector를 정규화 해 주는 이유는 벡터의 크기를 고려하지 않고 벡터의 방향만을 고려하기 위한 것이다. (머 이런저런 이유가 더 있을까?) 무튼 그래서 정규화를 해 주면 위의 오른쪽 사진처럼 블럭모양의 결점은 안생긴다. 그런데 이 문제를 해결하기 위해 검색을 하다보니 Lyon이라는 specular ..