DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 라이트와 머트리얼 다이렉트 라이트와 앰비언트 라이트의 비교   [목차열람] [주소복사] [슬롯비우기]
다이렉트 라이트와 앰비언트 라이트의 비교
 
Microsoft DirectX 9.0

다이렉트 라이트와 앰비언트 라이트의 비교


다이렉트 라이트와 앰비언트 라이트는 ,함께 장면(scene)내의 개체를 비추지만, 양자는 서로 서로 영향을 줄 것은 없고, 각각이 가지는 이펙트는 크게 달라서 , 이러한 조작 방법에 대해서도 완전히 차이가 난다.

다이렉트 라이트는, 문자 대로, 다이렉트이다. 다이렉트 라이트는 항상 방향과 색을 가져, 이것은 gouraud shading등의 쉐이딩 알고리즘의 계수로서 사용된다. 조명의 종류가 다르면, 다이렉트 라이트의 방사도 달라, 각각 특별한 감쇠 이펙트를 낳는다. 다이렉트 라이트의 일련의 조명 파라미터는,IDirect3DDevice9::SetLight 메서드를 호출해 설정한다.

앰비언트 라이트는, 장면(scene)내의 어느 위치에도 효과를 미친다. 앰비언트 라이트는, 개체나 개체의 장면(scene)내의 위치에 관계없이, 장면(scene) 전체를 같은 강도의 빛으로 비추는 조명이라고 생각할 수가 있다. 앰비언트 라이트는 색과 강도를 가질 뿐으로, 위치나 방향은 가지지 않는다. 각 라이트가 장면(scene)내의 전체적인 앰비언트 라이트로 추가된다. 앰비언트 라이트 레벨을 설정하려면 ,IDirect3DDevice9::SetRenderState 메서드를 호출해,State 파라미터로서 D3DRS_AMBIENT 를 지정해,Value 파라미터로서 목적의 RGBA 색을 지정한다.

앰비언트 라이트의 색은, RGBA 값의 형태를 취해, 각 성분은 0 ~ 255 의 정수값이다. 이것은, Microsoft® Direct3D® 의 대부분의 색값과는 다르다. 더 자세한 정보는, 「조명과 머트리얼의 색값」을 참조할것.

D3DCOLOR_RGBA 매크로를 사용해 RGBA 값을 생성할 수 있다. 적·록·청성분을 조합해, 앰비언트 라이트의 최종적인 색을 생성 한다. 알파 성분은 색의 투명도를 제어한다. 하드웨어 가속화 또는 RGB 에뮬레이션을 사용할때는, 알파 성분은 무시된다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP