블로그 이미지
˙Jisoo

카테고리

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


첫번째 동영상입니다.
중간중간 잘 보시면 산정상(-_-;;) 부분에 약간 삐뚤빼뚤 한걸 보실 수 있습니다...
아무래도 256 x 256 사이즈의 지형맵이라 부드럽지가 못하겠지요..
첫번째 해결방법으로는 사이즈를 1024 x 1024 처럼 크게 키우는 방법이 있는데 이렇게되면 라이트맵 계산과 블러 시간도 길어지고
같은 지형맵을 더 잘게 쪼개서 봐야하니 한 화면에 보여야 할 버텍스의 수도 많아져서 버벅거립니다. LOD를 써도 섬세하게 쪼개면 버벅거리겠지요..
그래서 사이즈를 유지하는대신 버텍스에도 블러를 주었습니다.
주위의 9개 버텍스들의 높이값을 더해서 합해버린거죠..
이미지에 블러 하는것과 완전히! 동일한 방법이기에 별달리 쓸 것이 없네요.... 결론은 망한글이란 건가....ㅠ.ㅠ;



버텍스 블러링을 적용 한 영삽입니다.
훨씬 부드러워졌죠? 3x3 사이즈 커널로 2번 블러를 줬습니다.





구글에서 raw 타입으로 된 맵파일을 받아서 적용시켜보았습니다.
raw 파일은 무압축에 따로 지정하지않는다면 헤더조차 없기에 다른사람꺼 아무거나 불러와도 잘 적용됩니다..!!! -_-;
Posted by ˙Jisoo

댓글을 달아 주세요


기존에 작업했던 버텍스 노멀 구하기에서 약간의 문제가 있었습니다.
노멀을 구하기 위해 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 D3D, DirectX

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함