본문 바로가기
서적 정리/DirectX11을 이용한 3D 게임 프로그래밍 입문

64.재질의 설정

by 민돌이2 2022. 3. 3.

하나의 표면이라도 위치에 따라 재질이 다를 수 있다. 좀 더 범용성 있게 표현해 보자면, 한 오브젝트에서 위치에 따라 재질이 다를 수 있다. 아래의 그림을 보면 바로 이해가 된다.

이러한 다양성을 표현하기 위한 방법으로 정점별로 재질 값을 설정하는 것이다. 정점별 재질은 래스터화 도중에 삼각형을 따라 보간되며, 삼각형 메시의 표면의 각 점마다 재질 값이 부여된다. 재질 값들을 상수 버퍼의 한 멤버로 설정하면 재질 값을 그리기 호출마다 다르게 설정하는 것이 가능하다.

아래의 구조체는 재질 정보를 담는 용도로 사용하는 Material 구조체의 예시이다.

struct Material { Material() { ZeroMemory(this, sizeof(this)); } ‌XMFLOAT4 Ambient; ‌XMFLOAT4 Diffuse; ‌XMFLOAT4 Specular; ‌XMFLOAT4 Reflect; };

 

728x90

'서적 정리 > DirectX11을 이용한 3D 게임 프로그래밍 입문' 카테고리의 다른 글

68.조명 구현  (0) 2022.03.05
67.점적광(Spot Light)  (0) 2022.03.03
66.점광(Point Light)  (0) 2022.03.03
65.평행광(Parallel Light)  (0) 2022.03.03
63.조명 중간 정리  (0) 2022.03.03
62.반영광 조명  (0) 2022.03.03
61.주변광 조명  (0) 2022.03.02
60.분산광 조명  (0) 2022.03.02

댓글