ライトを回したいんだけど…

 平行光源を使ってるんですが、

そのときに、光の差す方向を変える際の注意点。


/*=====================================
ライト角度設定
=====================================*/

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;
}

こっちだと変わる。



 …ローカルだと解放されてしまうから無効…ということか?