Texture types
이 글의 내용은 이곳의 내용중 필요한 부분만 정리한 것입니다.
원문을 보시길 추천합니다.
http://wiki.polycount.com/wiki/Texture_types
텍스쳐 타입
게임모델에 텍스처 처리를 할 때 사용되어지는 몇가지 map 타입이 있다.
모든 경우에, 화면에 렌더링 되는 최종 이미지를 생성하기 위해 다른 map 타입들이 함께 동작한다.
아티스트들은 각 작업의 균형을 맞추기 위해 이러한 맵들을 동시에 만든다.
대부분의 경우, 이러한 이미지는 투명도(Transparency) 또는 광택(gloss)과 같은
단일 값 슬라이더 대신, 픽셀 단위 수준에서 동작하는 재료 속성을 위한 마스크로 간주될 수 있다.
가장 흔한 타입은 diffuse, emissive, normal, opacity, 그리고 gloss이다.
어떤 타입을 사용할지는 asset 자체와 프로젝트의 Art Direction에 따라 결정된다.
게임의 필요에 따라 다양한 타입들이 하나의 파일로 압축될 수 있다.
Color Maps
가장 일반적인 타입이 diffuse이며 모델에서 보여지는 색상이다.
이 맵은 주어진 asset의 art direction이나 기술적 요구사항 때문에 가장 다양하다.
- Diffuse map(확산 맵)은 표면에서의 빛의 확산반사인 albedo를 만들기 위해 사용된다.
종종 알베도맵이라고도 불리며 일반적으로 기본 색상만 표현한다.
diffuse가 유일하게 사용되는 맵이라면 빛, 그림자, 그리고 하이라이트를 사용해서 복잡한 셰이더 효과를
시뮬레이트 할 수 있으며 이러한 셰이더에서의 diffuse map은 라이트 정보가 작게 들어가거나 없다.
이러한 효과는 Specular map이나 Normal map같은 다른 형태의 맵의 영향으로 인해 발생하기 때문이다.
오프라인 렌더링(영화, 상업 등..)에서 diffuse map은 color맵과 별개의 효과를 의미할 수 있는데,
표면에서 반사되는 빛의 확산을 제어한다.
- Albedo map(반사율 맵)은 PBR 셰이더에서 사용되어지는 좀 더 특화된 확산 형태이며, 표면의 기본 색상만을 나타낸다.
사실 내가 Albedo map이란 용어를 접한건 그다지 오래 되지 않았는데
처음 느낌은 Diffuse라는 단어 자체가 Albedo로 바뀐 느낌이었다.
기존에 Diffuse map(기본 색상 텍스처) 이라고 이해하고 있던 용어를
Albedo map(기본 색상 텍스처)라고 용어를 여러군데서 사용하고 있었다.
완전히 똑같다면 왜 단어를 바꾼걸까?
그나마 근래에 유행하고 있는 PBR 시스템이 도입되면서 물체의 순수한 색상을
표현하기 위한 단어가 필요했는데 기존 diffuse map은 순수한 color map 뿐만 아니라
확산광(난반사)로 음영이 진 것 도 diffuse map으로 불렀다.
- Detail map은 기하물체를 가까이서 볼 때 텍스처의 해상도(또는 그래픽 퀄리티)가 높아 보이도록
적당한 크기의 텍스처를 반복 시켜 기존 텍스처에 혼합해주는 상세 텍스처이다.
확대 시 디테일이 있어 보이려면 고해상도의 텍스처를 사용해야 하는데 고해상도 텍스처 대신
적당한 텍스처에 이 디테일 맵을 섞어서 사용한다.
밉매핑을 사용하면 타일링된 아티펙트(결함)을 숨기기 위해 detail texture을 중간거리에서 fade out할 수 있다.
detail map은 자주 Diffuse map, Normal map 과 같이 사용된다.
- Gradient map과 Color look-up table은 하나의 색상을 1차원이나 2차원에서 다른 색상으로 매핑하여
화면이나 모델의 색상을 수정하는데 사용할 수 있다. (ex : color correction, ramp texture ... etc)
이들은 일반적으로 global asset이며 특정 모델로 제한되지 않는다.
- color variation(색의 변형)이나 사용자 정의 asset, 또는 재질 영역을 위한 Masking은 Color map으로 간주할 수 있다.
Transparency Maps
- Transparency maps, 또는 opacity로 알려져 있으며, 표면의 불필요한 부분을 제거하는 사용되며
보통 알파블렌딩으로 사용한다. 예 : 불, 풀, 머리카락, 연기, 물, 창문 등..
Bump Maps
- Bump maps은 지오메트리의 음영을 수정하는 2D 흑백 맵으로 일반적으로 표면의 디테일 표현에 사용된다.
- Normal maps은 정점의 노멀을 수정하여 보다 세밀한 지오메트리를 표현하는 3D bump map이다.
- Radiosity normal maps은 light map과 normal map을 혼합한 특수한 맵이다.
http://egloos.zum.com/cagetu/v/5658605
- Displacement maps은 bump와 비슷하지만 높이정보를 저장해서 렌더링 시 지오메트리를 변형하여
음영과 실루엣을 수정한다.
- Height maps은 일반적으로 지형 메시의 정점을 위 아래로 이동하여 변형시키는데 사용된다.
- Vector displacement maps은 height의 확장이지만 모든 축에서 정점을 변형 할 수 있다.
- Wrinkle maps은 구현에 따라 다르지만, 케릭터가 특정 방향으로 구부리면 옷에 주름이
생길수 있는 국한된 bump값을 저장한다.
아래부터는 bump 종류가 필요없지만 비슷한 효과를 낸다.
- Parallax maps은 다른 텍스처를 표면에 따라"슬라이드"하여 물체의 높이와 깊이를 시뮬레이팅 한다.
http://mgun.tistory.com/1536
- DuDv maps은 메시의 UV를 수정하여 픽셀단위로 다른 텍스처를 왜곡한다.
- Flow maps은 DuDv 와 흡사한데, 물의 흐름이나 이방성의 하이라이팅과 같은 방향 기반 왜곡을 정의한다.
- Curvature maps은 흑백으로 볼록/오목함을 저장한다.
http://blog.naver.com/blue9954/220424879221
Specular maps
- Specular maps은 표면의 반사율을 제어하고 반사모양을 조정할 수 있다.
Specular는 일반적으로 장면에서 가장 밝은 광원의 반사만을 시뮬레이션 한다.
Specular map은 또한 표면에서 environment maps(환경맵)이 얼마나 많이 보여질지를 제어하는데
사용할 수 있다.
- Gloss maps은 specular highlight가 얼마나 넓게 또는 좁게 보여질지를 제어한다.
- Roughness maps은 PBR 시스템에서의 Gloss maps으로 표면이 얼마나 거친지 또는 부드러운지를 나타내며
Microsurface(미세면)이라고도 불린다.
- Reflectivity(반사율)은 PBR 시스템에서 Specular 이며, 표면에서 얼마나 많은 빛이 반사되어 나오는지를 나타낸다.
- Metallic maps은 PBR에서 Reflectivity(반사율)의 대안으로, metallic(금속)이나 non-metallic(비금속)으로 재질을
표현함으로써 다르다.
이 방법에서, Albedo map은 non-metals와 규칙적으로 작동하지만 metal 영역에 대한 reflectivity(반사율)
역활을 한다.
- Anisotropic maps(비등방성 맵)은 실시간 조명에서 specular highlight의 모양을 제어하며,
종종 머리 음영에서 사용된다.
- Brdf maps은 카메라 각도를 빛의 값에 매핑하여 반사를 제어한다.
- Fresnel / Rim light maps은 벨벳이나 미세한 머리카락과 같이, 표면의 극한 각도에서
나타나는 빛의 양을 제어하는데 사용된다.
Environment Maps
Environment maps은 일반적으로 표면반사에 사용되며, 반사된 모델의 주변모습을 보여준다.
이는 실제 장면의 정확한 모습을 렌더링하지 않는 무척 저렴한 방법이며
일반적으로 실시간으로 렌더링 하는것은 무척 느리다.
- Cube maps은 육면체에 전경을 매핑시키는 여섯개의 모양을 가지는 가장 일반적인 타입이다.
- Diffusely convolved cube map은 블러가 된cube map으로 정확한 반사보다 더 나은 주변광을 표현한다.
- Spherical environment map은 Lit sphere 또는 MatCap로도 알려져 있으며,
빛과 색상값을 반구의 각도로 매핑하는 단순한 이미지 반사다.
관련 링크
Light Maps
Light maps은 화면에서 표면에 미리 계산된 복잡한 라이팅을 저장한다.
- Ambient occlusion maps은 표면에서 바운스 되는 주변광을 미리 계산된 것이다.
참고 : http://mgun.tistory.com/2115
- Cavity maps은 ambient occlusion의 좁은 버전이며, 어두우 그림자는 틉과 날카로운 모서리에서만 나타난다.
- Emissive map은 Glow 또는 Self-illumination으로도 알려져 있으며 컴퓨터 모니터, 밤의 차량의 계기판,
또는 마법효과 처럼 표면이 빛을 발하는 것을 흉내낸다.
- Radiosity normal maps은 light map과 normal map을 혼합한 특수한 맵이다.
그래서 위의 Bump map으로도 분류할 수 있다.
- Thickness maps은 표면이 얼마나 두꺼운지/얇은지의 측정이다.
일반적으로 뒤에서 빛이 들어올 때 고양이의 귀나 쫙 펴진 가죽같은 표면을 통과하는 가짜 빛에 사용된다.
Other Maps
- Texture Coordinates는 UV map으로도 알려져 있으며 2D 이미지를 굴곡이 있는 3D 모델링에 매핑하게 되면
이미지의 일그러짐이 생기게 되는데 이를 바로잡아 주기 위해 모델 자체 내의 좌표체계에 맞춰 좁은부분
또는 넓은 부분을 맞추어 이미지의 일그러짐을 최소화 시키는 작업이다.
- SSS/ Subsurface Scattering maps은 피부나 왁스같은 반투명 내부에서 빛이 bounce 되는
행동을 흉내낸다.
- Subdemal maps은 skin shader에서사용되며, 피부 아래의 레이어를 표현한다 : 피주조직, 혈색과 혈관.
'Study > Graphics ' 카테고리의 다른 글
depth-precision-visualized (0) | 2018.01.31 |
---|---|
디더링 (Dithering) (0) | 2018.01.26 |
rgbm (0) | 2016.12.29 |
Efficient Gaussian blur with linear sampling (0) | 2016.10.22 |
Blur 1 (0) | 2016.10.12 |