Doom3 엔진의 Texturing

Game Programming/Direct3D 2008. 3. 8. 14:05

출처 : http://www.modwiki.net/wiki/Texturing

* Diffuse maps
둠3에서 diffuse maps은 diffuse relection and color of a surface를 표현했다.
그것들은 색깔과 뒷면에 반사된 intensity of light를 정의한다.
diffuse maps을 만드는 목적은 색깔 맵과 어두운 영역(빛을 흡수하는)을 그리는 데 있다.
예를 들어, 벽돌 벽의 갈라진 부분은 더 많은 빛을 흡수한다.
그 예제는 증명한다 벽돌들 자신은 거의 갈라진 금 사이에 그들을 거의 검은색으로
반사광 표면이 없는 같은 intensity의 그것들은 받아 들입니다. ???
그것들은 당신의 diffuse maps을 적절하게 어둡게 하는 좋은 생각이다
diffuse mpas는 material shaders에 추가 되었다.

* Bump maps
bump mapping은 깊이 착각 그리고 이미지 텍스처를 추가한다.
그것은 실제 도형을 바꾸지 않는다 하지만 표면 전면에 어느정도 영향을 준다.
Doom3 엔진에는 두가지 다른 종류 bump maps 가 사용되고 있다 : Normal and height maps

- Normal maps
normal maps은 기울기 또는 표면의 법선을 정의한다.
다른 의미로, 그것들은 표면을 facing 되도록 변경한다.
각 픽셀의 normal 은 R,G,B 채널에 특수한 X,Y,Z 변환 데이터를 저장하는 것으로 정의된다.
normal maps 를 생성하기 위한 두가지 메소드 이다.
1. 3d geometry로부터 normal map을 표현한다.
2. height map을 normal map으로 변환한다.

- height maps
height maps 은 표면의 각 픽셀의 높이를 정의하는 grayscale 이미지이다.
그것들은 텍스처의 visual depth를 조정한다.
각 픽셀의 높이는 이미지의 밝기로 정의된다.
white 픽셀 high 이고 black 픽샐이 low 이다.
gray 레벨은 다른 높이를 표현한다.
heightmap은 보통 이미지 조정 프로그램 안에서 칠해졌다
그것들은 대게 표현할 필요가 없다
heightmap은 둠3 엔진(로드)에 의해서 normalmap으로 변환되어 버린다.
heightmap 사용은 단지 쉬운 작업 흐름을 위한 허용이다.

- normal maps vs height maps
둠3 엔진은 normal map 과 height map을 하나의 bump map으로 결합시킬 수 있다.
대게 이것은 같은 detail 나타내는 normal map을 만들때보다
height map의 details을 더 실제적으로 그릴 때 처리되었다.
normal 그리고 height 맵은 Addnormals 함수를 사용하므로써 material 안에 결합되어질수 있다.
height maps은 둠3 엔진 기반 게임의 표면을 시각적으로 바꾸어 놓지 않는다해도 기록 되어져야만 한다.
그것들은 단지 동적 라이팅 사용을위해 표면 normals를 계산한다는 의미이다.
이것의 의미는 본질적으로, height map은 normal map으로 변환되었다는 것이다.
그리고 높이를 가진 dealing은 이웃한 각 픽셀 값을 비교할 때 slope를 계산하기 위한 하나의 방법이기 때문에,
height map은 절대 같은 해상도의 nomal map으로 세분화 되어질 수 없다.
이 주장을 뒷받침하기 위한 다른 증거는
height map은 단지 black이나 white인 RGB컬러 공간에서 저장된 height map이므로
컬러 채널의 사용을 효율적으로 만들지 않는다라는 것이다.
각 컬러채널의 그 데이터는 중복되기 때문에, 당신은 단지 256레벨로 제한된다.
각 채널이 유일한 normal map 과 그것이 더 본질적인 slop를 정의하는 명확한 normal map에서 비교해 보라.

* Specular maps
둠3의 Specular maps은 표면의 specular intensity 그리고 color of highlight를 표현한다.
또한 그들은 "shinyness"와 specular 그림자의 컬러를 정의한다.
가장 밝은 specular 맵은 최종 재질을 더 밝게한다.
specular map 생성은 이미지를 표면의 일반적인 specularity와 기상로 발생되는 더 어두운 영역을 표현하는 solid 값으로 채우기 위함이다.
그것들의 갈라진 금은 specularity가 거의 없다는 것을 기록하라.
컬러는 highlight의 specular map 음영색을 적용받는다.
벽돌들은 얇고 변덕스러운 음영을 반사하는 재질의 모래의 돋음이 만들어진다.
이것은 아주 좋은 예제이다.
학회에서는 텍스처 파일이름 끝에 "_s"를 붙이는 것을 권고하고 있다.

Bump map은 specual map을 위한 좋은 시작점으로 수정될수 있다.

설정

트랙백

댓글

노다메 칸타빌레

St☆r's Rhaps♪dy 2008. 3. 8. 02:47
http://blog.naver.com/ansrkql/40037921200

설정

트랙백

댓글

Freddi highmore

St☆r's Rhaps♪dy 2008. 3. 8. 02:45
사용자 삽입 이미지

설정

트랙백

댓글