다음을 통해 공유


카메라 공간 변환(Direct3D 9)

카메라 공간의 꼭짓점은 월드 뷰 행렬을 사용하여 개체 꼭짓점을 변환하여 계산됩니다.

V = V * wvMatrix

카메라 공간에서 꼭짓점 법선은 월드 뷰 행렬의 역변경으로 개체 법선 변환을 통해 계산됩니다. 세계관 행렬은 직교일 수도 있으며 그렇지 않을 수도 있습니다.

N = N * (wvMatrix⁻σ)T

행렬 반전 및 행렬 트랜스포지션은 4x4 행렬에서 작동합니다. 곱하기는 결과 4x4 행렬의 3x3 부분과 노멀을 결합합니다.

렌더링 상태인 D3DRENDERSTATE_NORMALIZENORMALS TRUE 설정된 경우 다음과 같이 카메라 공간으로 변환한 후 꼭짓점 일반 벡터가 정규화됩니다.

N = norm(N)

카메라 공간의 조명 위치는 뷰 매트릭스를 사용하여 광원 위치를 변환하여 계산됩니다.

Lp = Lp * vMatrix

방향 광원에 대한 카메라 공간의 광원 방향은 뷰 매트릭스를 기준으로 광원 방향을 곱하고 결과를 정규화하고 무효화하여 계산됩니다.

Ldir = -norm(Ldir * wvMatrix)

D3DLIGHT_POINT 및 D3DLIGHT_SPOT 조명 방향은 다음과 같이 계산됩니다.

Ldir = norm(V * Lp) 여기서 매개 변수는 다음 표에 정의되어 있습니다.

매개 변수 기본값 묘사
L디르 해당(N/A) D3DVECTOR 개체 꼭짓점에서 광원으로의 방향 벡터
V 해당(N/A) D3DVECTOR 카메라 공간의 꼭짓점 위치
wvMatrix 신원 D3DMATRIX 월드 및 뷰 변환을 포함하는 복합 행렬
N 해당(N/A) D3DVECTOR 꼭짓점 법선
Lp 로 해당(N/A) D3DVECTOR 카메라 공간의 밝은 위치
vMatrix 신원 D3DMATRIX 뷰 변환을 포함하는 행렬

 

조명 수학