블로그 이미지
˙Jisoo

카테고리

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






시차맵핑만 들어간 상태면 빛의 변화가 크지 않는 한 잘 구분이 되질 않는데

(시차맵핑이 들어간건지 아님 원래 텍스쳐에 그런 음영이 있는건지 잘 모르죠..)
이렇게 스펙큘러 값을 넣어주면 카메라의 움직임에 따라 입체적으로 보이게 됩니다.
물론 실제로 튀어나오고 들어간건 아닙니다. 착시현상을 이용한 기법입니다.
현재 Diffuse 텍스쳐의 좌표를 받아와서 노멀맵 텍스쳐와 높이맵 텍스쳐 그리고 빛의 방향과의
관계에 따라
텍스쳐의 좌표를 조금씩 이동시켜줍니다.
그렇기 때문에 비스듯한 각도에서 보면 그럴싸 하게 울퉁불퉁 해 지지만 수평으로 바라보면 그냥 평면상태입니다.
실제로 버텍스값을 바꾸는 게 아닌 착시현상을 이용한 방법이라 어쩔수 없는 방법이랄까요,
하지만 점점 하드웨어가 발달해 감에 따라 DX11에선 실제로 버텍스값을 바꿔버리는 테셀레이션 기술을 선보였습니다. (전전 포스트 참조)









네. 이게 바로 구글에 있던 오바마 그림입니다 -_-;;
시차맵핑을 좀 더 자세히 보여드리고자 특별히 높은 해상도의 텍스쳐를 사용했습니다.
이것이 가장 베이스가 되는 텍스쳐입니다. 보통 Diffuse Texture 라고 하네요



이건 Heightmap Texture 입니다.
실제 게임을 만드는 회사에선 자금 여유가 된다면 이런것도 정교하게 처리 해 주겠죠
하지만 저는 그냥 흑백으로 바꿔줍니다 ㅋㅋ




위의 HeightMap 을 토대로 이런식으로 NormalMap Texture 가 나오게 됩니다.
괴상하게 생겼지요. 그냥 일반 Height Map에는 높이값이 0~255로 들어가게 되는데 노멀맵의 경우에는 말그대로 노멀 값이 들어가게 됩니다.
노멀맵이 어떤식으로 저장되는지는 모르겠는데 프로그래밍 상에서
3차원벡터값으로 있는걸 r,g,b에 대입해서 사용하는 것 같네요..





오바마의 얼굴 / 옆에 내리는 비 부분을 유심히 봅시다.





쉐이더 계산들에 다른값을 넘겨주면서 계산을 하니 이런 문제점도 생겼습니다.
경계면이 너무 뚜렷하게 구분되서 오히려 더 어색해졌네요..
대체 왜 이런걸까 고민하다가 다른 모델 파일을 불러와서 테스트 해 봤더니 정상적으로 나오는걸 보면
각도가 급격히 변화하는 부분에서 탄젠트값이 비정상적으로 들어가 있는 것 같습니다.





다른 모델 파일에 같은 쉐이더가 적용 된 모습입니다.
어느부분에도 아까와 같은 이상현상은 일어나지 않았습니다.

알록달록 한건 스펙큘러값이 엉뚱한 텍스쳐에 들어가 있기 때문에 그런거고요..



이 화면을 보고 있자니 어째 생각나는게 ...



ㅡ.ㅡ;;;

'Game Project > PairPlay' 카테고리의 다른 글

PairPlay Parallax bump mapping 적용  (2) 2009/11/22
PairPlay 쉐이더 적용 영상  (0) 2009/11/21
Pair Play 2차 테스트판 릴리즈  (2) 2009/11/16
Pair Play 1차 테스트판 릴리즈  (2) 2009/11/15
Pair Play 기능 추가  (2) 2009/11/04
Pair Play 개발 진행률  (0) 2009/11/02
Posted by ˙Jisoo

댓글을 달아 주세요

  1. 2009/11/22 19:07 온새미  댓글주소  수정/삭제  댓글쓰기

    것보단 난 무서웠어 ㅠㅠ..ㅋㅋ

최근에 달린 댓글

최근에 받은 트랙백

글 보관함