DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DLIGHT9   [목차열람] [주소복사] [슬롯비우기]
D3DLIGHT9 구조체
 
Microsoft DirectX 9.0

D3DLIGHT9 구조체


일련의 라이트 프로퍼티를 정의한다.

구문

typedef struct _D3DLIGHT9 {
    D3DLIGHTTYPE Type;
    D3DCOLORVALUE Diffuse;
    D3DCOLORVALUE Specular;
    D3DCOLORVALUE Ambient;
    D3DVECTOR Position;
    D3DVECTOR Direction;
    float Range;
    float Falloff;
    float Attenuation0;
    float Attenuation1;
    float Attenuation2;
    float Theta;
    float Phi;
} D3DLIGHT9;

멤버

Type
광원의 종류. 이 값은 D3DLIGHTTYPE 열거형의 멤버중 하나이다.
Diffuse
라이트가 방사하는 디퓨즈색. 이 멤버는 D3DCOLORVALUE 구조체이다.
Specular
라이트가 방사하는 스펙큐러색. 이 멤버는 D3DCOLORVALUE 구조체이다.
Ambient
라이트가 방사하는 앰비언트색. 이 멤버는 D3DCOLORVALUE 구조체이다.
Position
월드 공간내에서의 광원의 위치. D3DVECTOR 구조체로 지정된다. 이 멤버는, 디렉셔널 라이트에 있어 의미가 없고, 무시된다.
Direction
월드 공간에서 빛이 가리킬 방향. D3DVECTOR 구조체로 지정된다. 이 멤버는, 디렉셔널 라이트 및 spotlight의 경우에만 의미를 갖는다. 이 벡터는 정규화할 필요는 없지만, 제로보다 큰 길이를 가지지 않으면 안 된다.
Range
광원의 유효 거리. 이 멤버의 최대 허용값은 FLT_MAX 의 제곱근이다. 이 멤버는 디렉셔널 라이트에게는 영향을 주지 않는다.
Falloff
spotlight의 내부 콘 (Theta 로 지정되는 각도)과 외부 콘 (Phi 로 지정되는 각도)의 외측 엣지와의 사이에 휘도(Luminance)가 폴 오프 한다.

조명에 대한 폴 오프의 영향은 미묘하다. 게다가 폴 오프 커브를 그리면 다소의 성능 위에의 로스를 입는다. 이러한 이유에 의해, 개발자의 상당수는 이 값을 1.0 으로 설정한다.

Attenuation0
라이트의 강도가 거리에 의해 어떻게 변화하는지를 지정하는 값. 디렉셔널 라이트의 경우, 감쇠값은 무시된다. 이 멤버는 감쇠 정수를 나타낸다. 감쇠의 더 자세한 정보는, 「라이트의 위치 좌표, 범위, 감쇠」를 참조할것. 이 멤버에 유효한 값의 범위는, 0.0 으로부터 무한대이다. 디렉셔널 라이트 이외의 경우, 3 개의 감쇠값 모든 것을 동시에 0.0 으로 설정해서는 안 된다.
Attenuation1
라이트의 강도가 거리에 의해 어떻게 변화하는지를 지정하는 값. 디렉셔널 라이트의 경우, 감쇠값은 무시된다. 이 멤버는 감쇠 정수를 나타낸다. 감쇠의 더 자세한 정보는, 「라이트의 위치 좌표, 범위, 감쇠」를 참조할것. 이 멤버에 유효한 값의 범위는, 0.0 으로부터 무한대이다. 디렉셔널 라이트 이외의 경우, 3 개의 감쇠값 모든 것을 동시에 0.0 으로 설정해서는 안 된다.
Attenuation2
라이트의 강도가 거리에 의해 어떻게 변화하는지를 지정하는 값. 디렉셔널 라이트의 경우, 감쇠값은 무시된다. 이 멤버는 감쇠 정수를 나타낸다. 감쇠의 더 자세한 정보는, 「라이트의 위치 좌표, 범위, 감쇠」를 참조할것. 이 멤버에 유효한 값의 범위는, 0.0 으로부터 무한대이다. 디렉셔널 라이트 이외의 경우, 3 개의 감쇠값 모든 것을 동시에 0.0 으로 설정해서는 안 된다.
Theta
spotlight의 내부 콘, 즉 충분히 빛으로 비추어지고 있는 spotlight 콘의 각도를 라디안 단위로 나타낸다. 이 값은, 0 으로부터 Phi 에 의한 지정값의 범위에 없으면 안 된다.
Phi
spotlight의 밖콘의 외측의 엣지를 정의하는 각도를 라디안 단위로 나타낸다. 이 콘의 외측에 있는 점은 spotlight로 조명 되지 않는다. 이 값은 0 으로부터 pi 의 범위에 없으면 안 된다.

구조체의 정보

헤더d3d9types.h
최저한의 operating system Windows 98

참조

IDirect3DDevice9::GetLight ,IDirect3DDevice9::SetLight


© 2002 Microsoft Corporation. All rights reserved.
↑TOP