ライトを回したいんだけど…
平行光源を使ってるんですが、
そのときに、光の差す方向を変える際の注意点。
これだと、光の方向は変わらなくて、
/*=====================================
ライト角度設定
=====================================*/
void SetLight_Direction( float Dx, float Dy, float Dz )
{
D3DLIGHT8 material;
g_pD3Ddevice_3D->GetLight( 0, &material );// ライトの方向
D3DXVECTOR3 direction = D3DXVECTOR3( Dx, Dy, Dz );
// ベクトル正規化(単位化)
D3DXVec3Normalize( (D3DXVECTOR3*)&material,
&direction );g_pD3Ddevice_3D->SetLight( 0, &material );
return;
}
こっちだと変わる。
/*=====================================
ライト角度設定
=====================================*/
void SetLight_Direction( float Dx, float Dy, float Dz )
{
// ライトの方向
D3DXVECTOR3 direction = D3DXVECTOR3( Dx, Dy, Dz );
// ベクトル正規化(単位化)
D3DXVec3Normalize( (D3DXVECTOR3*)&g_light.Direction,
&direction );g_pD3Ddevice_3D->SetLight( 0, &g_light );
return;
}
…ローカルだと解放されてしまうから無効…ということか?