블로그 이미지
˙Jisoo

카테고리

분류 전체보기 (98)
Programming (35)
Game Project (23)
Almighty Engine (8)
Daily Life (19)
Photo Shots (11)
Total22,054
Today42
Yesterday77

기존에 작업했던 버텍스 노멀 구하기에서 약간의 문제가 있었습니다.
노멀을 구하기 위해 3개의 정점을 이용했는데 한쪽방향으로만 해놨더니 모서리 부분에서 정점 하나가 부족해서리..
그냥 맨 끝쪽만 계산을 안하고있었습니다..



그렇게 놔두다가 보기 흉하고 해서 모서리부분만 정점을 이 전 줄에서 하나씩 빼오고 역벡터로 취해줌으로써 간단하게 예외처리를 해놓았습니다..





빛의 방향을 벡터값으로 정해놓고 여지껏 구했던 버텍스들의 노멀값과 내적을 통해서 음영을 구해줍니다..
DirectX 기본라이브러리에 있는 Directional Light 도 이 방법일 것 같네요...





그림자가 버텍스단위로 너무 딱딱 끊겨서 이상하기에 라이트맵에 블러를 주었습니다.
하지만 음영의 레벨값 차이가 너무 강하죠.. 어두운곳은 너무 어둡고 밝은곳은 너무 밝고....


 


그래서 이와같이 레벨값을 조정해주었습니다.
왼쪽의 결과가 나오기 위해선
기존의값 / 2.0f + 127.0f / 255.0f 의 공식을 사용해주었고
오른쪽의 결과는
기존의값 / 3.0f + 150.0f / 255.0f 의 공식을 사용하였습니다.
( 색상값의 범위 0.0 ~ 1.0 에 1.0 흰색 기준입니다. )

오른쪽 결과에선 너무 밝아서 사라졌었던 부분의 그림자 디테일도 살아났네요..
조금씩 레벨값을 조정하면서 최대한 실사에 근접한 공식값을 찾아봐야겠군요..ㅎㅎ
Posted by ˙Jisoo
TAG ,

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함