|
|
代码段:D3DXMatrixTranslation不起作用,D3DXMatrixRotationZ和D3DXMatrixScaling起作用,WHY???????????
VOID Render()
{
//清空后台缓冲区
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(45, 50, 170), 1.0f, 0 );
D3DXMATRIX _mat;
D3DXMatrixIdentity(&_mat);
static D3DXMATRIX matTrans = _mat ;
static float _fStep= 0.0f;
//D3DXMatrixRotationZ(&matTrans, _fStep);
D3DXMatrixTranslation(&matTrans,_fStep,_fStep,_fStep);
//D3DXMatrixScaling(&matTrans,_fStep,_fStep,_fStep);
//开始在后台缓冲区绘制图形
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
g_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
//g_pd3dDevice->SetTransform(D3DTS_WORLD, &matTrans);
g_pd3dDevice->SetTexture( 0, g_pTexture ); //设置纹理
g_pd3dDevice->SetTransform( D3DTS_TEXTURE0, &matTrans );
_fStep += 0.01f;
g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2);
//结束在后台缓冲区绘制图形
g_pd3dDevice->EndScene();
}
//将在后台缓冲区绘制的图形提交到前台缓冲区显示
g_pd3dDevice-> resent( NULL, NULL, NULL, NULL );
}
|
|