DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 라이트와 머트리얼 조명과 머트리얼의 색값   [목차열람] [주소복사] [슬롯비우기]
조명과 머트리얼의 색값
 
Microsoft DirectX 9.0

조명과 머트리얼의 색값


Microsoft® Direct3D® 에는, 색을 기술하는 4 개의 성분 (적·록·청·알파)이 있어, 이것들을 조합해 최종적인 색이 생성된다. C++ 의 D3DCOLORVALUE 구조체는, 이러한 각 성분을 저장 하도록(듯이) 정의되고 있다. 각 멤버는, 보통 0.0 으로 1.0 을 포함한 0.0 ~ 1.0 의 범위의 부동 소수점값이다. 조명과 머트리얼에서는, 모두 같은 구조체를 사용해 색을 기술하지만, 구조 체내에서 사용하는 값은 서로 조금씩 다르다.

광원의 색값은, 광원이 출발하는 특정의 빛의 성분의 양을 나타낸다. 조명에서는 알파 성분은 사용하지 않기 때문에, 적·록·청성분만 관련이 있다. 이러한 3 개의 성분은, 프로젝션 모니터의 적색·녹색·청색의 렌즈에 비유할 수가 있다. 각 렌즈를 오프로 하거나 (대응하는 멤버에 0.0 을 설정), 가능한 한 밝게 하거나 (1.0 을 설정), 그 사이의 레벨을 설정할 수가 있다. 각 렌즈로부터의 색을 조합해, 최종적인 조명의 색을 생성 한다. R:1. 0, G:1. 0, B:1. 0 의 편성의 경우, 백색광이 되어, R:0. 0, G:0. 0, B:0. 0 의 경우는 빛을 전혀 방사하지 않는 조명이 된다. 색성분을 1 개만 방사하는 조명을 생성 해, 순수한 적색·녹색·청색의 조명을 만들 수가 있다. 또, 색성분의 조합해에 따라서는, 황색이나 보라색등의 색을 방사하는 조명을 생성 할 수도 있다. 색성분값을 부로 해, 장면(scene)로부터 빛을 없애는 것 같은 "암색빛" 을 생성 할 수 있다. 또, 성분에 1.0 보다 큰 값을 설정해, 극단적으로 밝은 조명을 생성 할 수도 있다.

한편, 머트리얼의 경우, 색값은 그 머트리얼을 사용하는 표면이 어느 정도 빛의 성분을 반사하는지를 나타낸다. 머트리얼의 색성분이 R:1. 0, G:1. 0, B:1. 0, A:1. 0 의 경우, 머트리얼은 모든 빛을 반사한다. 같이 R:0. 0, G:1. 0, B:0. 0, A:1. 0 의 경우는, 녹색의 빛을 모두 반사한다. 머트리얼에 복수의 반사율을 지정해, 다양한 효과를 생성 할 수 있다. 더 자세한 정보는, 「머트리얼 프로퍼티」를 참조할것.

앰비언트 라이트의 색값은, 다이렉트 라이트 광원과 머트리얼에 사용하는 색값과는 다르다. 더 자세한 정보는, 「다이렉트 라이트와 앰비언트 라이트의 비교」를 참조할것.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP