[GPG 2 글 5.3] GPG2 5-3 동적인 픽셀 당 조명 기법의 범프맵 생성에 대한 질문?

GPG 시리즈 관련 질답, 논의 공간.

Moderator: 류광

voidpeople
Posts: 59
Joined: 2004-06-09 01:47

GPG2 5-3 동적인 픽셀 당 조명 기법의 범프맵 생성에 대한 질문?

Post by voidpeople »

lachesis님의 도움으로 CD에 있는 범프맵 이미지를 가지고 범프매핑을 구현해 보았습니다. 하지만 실제로 다른 이미지를 가지고 범프맵을 만들려고 하니 책에 나와 있는 내용만 가지고 이해가 잘 안되서 도움을 받고자 합니다. 책에는 높이맵에서 한 텍셀과 그에 인접한 8방향 텍셀들과의 텍셀 높이 차이를 소벨 필터를 통해서 계산한다고 했는데 그 소벨 필터를 어떻게 적용해야 하는지 전혀 감을 못잡겠네요...


dx =
-1 -2 -1
0 0 0
1 2 1


dx =
-1 0 1
-2 0 2
-1 0 1


각 텍셀의 법선은 (-dx, -dy, 1)과 같다.
(두번째 dx가 dy인것 같은데 일단 책에 있는 그대로 올립니다.)



위의 행렬을 어떻게 적용해야 할지... ㅡㅡ
Last edited by voidpeople on 2004-09-09 20:53, edited 1 time in total.
열심히....
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

답은 아니고 오타 확인입니다..

Post by 류광 »

지적하신대로 p.565 아래쪽 수식의 오른쪽 필터는 dx가 아니라 dy입니다. 정오표에 올리겠습니다.
Xine
Posts: 253
Joined: 2002-08-12 00:37

저도 답은 아니지만,

Post by Xine »

voidpeople님께서 지금 하고있으신 작업은 대부분 ATI개발자에 자료가 꽤 있습니다.

노말맵생성에 대해서도 역시 NormalMapGenerator라는 툴을 제공하고있는데
소스도 같이 배포하고 있구요, 소스파일은 고작 하나뿐인데 300줄 밖에 되지않습니다.

TGA형태의 height map을 읽어서 normal map으로 바꿔주는데,
질문하신 sobel filter를 적용하는 부분도 나와있구요.

그리고 또 찾아보시면 NormalMapper라는 툴도 소스와 함께 제공하는데,
보통 Doom 3나 FarCry 등에서 쓰는 하이폴리곤에서 노말맵을
추출하는 polybump 형태의 툴도 있습니다.
이덕희
voidpeople
Posts: 59
Joined: 2004-06-09 01:47

lachesis님 매번 감사합니다. ^^

Post by voidpeople »

저도 책에서 오타를 찾는 일이 있군요... ^^
열심히....
voidpeople
Posts: 59
Joined: 2004-06-09 01:47

높이맵이 문제네요....

Post by voidpeople »

lachesis님의 조언대로 NormalMapGenerator라는 노말맵 생성 프로그램의 소스를 분석해 노말맵 생성프로그램을 구현 해보았습니다.(코드량 정말 쪼끔)
그런데 문제는 그 소벨필터링은 일반적인 칼라이미지가 아닌 높이맵을 읽어서 노말맵을 생성한다는 것입니다. 일단은 GPG2의 부록 CD에 있는 높이맵을 가지고 테스트 해봤습니다. 물론 제대로 노말맵이 생성됩니다.
그런데 이 높이맵을 어떻게 칼라맵에서 뽑아 낼지가 관건입니다.

일단은 높이맵이 그레이스케일 이미지라고 해서 픽셀의 RGB값을 더해서(R+G+B) 3으로 나누어 다시 RGB에 똑같은 값으로 저장해 보았습니다.

RED = (R+G+B)/3;
GREEN = (R+G+B)/3;
BLUE = (R+G+B)/3;

하지만 부록 CD에 있는 높이맵 처럼 나오지가 않습니다. ㅡㅡ

이 높이맵을 생성할 수 있는 방법을 알고싶네요.........................


그전에 GPG2 CD의 RadeonDot3Bump3DLight폴더에 있는 FieldstoneBump파일이 높이맵이 맡는지 물어보고 싶네요... 높이맵 같은데 파일 이름끝에 Bump라고 붙어 있어서... ㅡㅡ
열심히....
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

높이맵은 칼라에서 뽑아내는 것이 아닙니다.

Post by zupet »

안녕하세요. 매크로 없는 메비~랍니다.

높이 맵은 칼라맵(Diffuse Map 이라고들 하죠.)에서 뽑아내는 것이 아닙니다. 왜냐면 색깔과 물체의 굴곡이 반드시 일치하지 않기 때문이죠. 가령 색깔은 밝은 색을 띄고 있지만 물체에서는 움푹 들어간 느낌을 내고 있을 수도 있고 또는 굴곡은 거칠게 울퉁불퉁 하지만 색깔은 균일한 것을 띄고 있을 수도 있습니다. 대개 높이맵을 보면 칼라와 비슷한 패턴을 갖게되긴 하지만 그렇다고 그것이 100% 칼라맵에서 뽑아져 나온다는 것은 아니죠. 이런 작업은 그래픽 디자이너분이 높이맵에 대한 정확한 지식을 갖고 정밀하게 작업을 해야하는 부분입니다. 칼라맵을 사용하는 경우가 많지만 경우에 따라서는 전혀 다른 이미지를 포토샵에서 복사/편집해서 사용하기도 합니다.
비회원

답변 감사합니다. ^^

Post by 비회원 »

역시!!! 아직은 사람의 손작업이 많이 필요하군요....
voidpeople
Posts: 59
Joined: 2004-06-09 01:47

Post by voidpeople »

로그인후...

역시!!! 아직은 사람의 손작업이 많이 필요하군요....
열심히....
Post Reply