|
D3DXVECTOR3 from( 50*sinf(m_fTime/2), 5.0f, 60*cosf(m_fTime/2) );
D3DXVECTOR3 at( 50*sinf(m_fTime/2+1.5f), 4.0f, 60*cosf(m_fTime/2+1.5f) );
D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f );
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &from, &at, &up );
m_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
return S_OK;
在变更观察者视图的时候,如上述的代码(从sdk的例子mfcfog复制的)可以实现观察者绕一个椭圆形旋转,但是我将这段代码替换我的代码,再改动了一下参数,并没有发现观察绕椭圆形旋转。在我的程序中只有一个立方体,没有场景,是否这样是无法体现出观察者绕椭圆形观察的感觉来,还是我的代码有问题。?
我的代码是:(没有使用CD3DApplication,所以m_fTime只好自己赋值了。)
float m_fTime = (float)timeGetTime();
D3DXVECTOR3 from( -50*sinf(m_fTime/200), 100.0f, -100*cosf(m_fTime/200) );
D3DXVECTOR3 at( 0.0f ,0.0f ,0.0f );
D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f );
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &from, &at, &up );
g_pD3DDevice->SetTransform( D3DTS_VIEW, &matView );
|
|