关于矩阵坐标的问题
- C/C++ code
D3DXMatrixRotationY( &m, D3DX_PI * fElapsedTime / 4.0f ); D3DXMatrixMultiply( &g_Obj[1].m_mWorld, &g_Obj[1].m_mWorld, &m ); D3DXMatrixRotationY( &m, -D3DX_PI * fElapsedTime / 4.0f ); D3DXMatrixMultiply( &g_Obj[2].m_mWorld, &g_Obj[2].m_mWorld, &m ); D3DXVECTOR3 vR( 0.1f, 1.0f, -0.2f ); D3DXMatrixRotationAxis( &m, &vR, -D3DX_PI * fElapsedTime / 6.0f ); D3DXMatrixMultiply( &g_Obj[3].m_mWorld, &m, &g_Obj[3].m_mWorld );
在SDK的示例代码ShadowMap中的代码
上面的代码应该是控制网格进行移动的
但是m_mWorld看上去跟网格没有什么关系,到底这个m_mWorld是怎么控制网格移动的呢?
[解决办法]
m_world = m1 绘制 位置在m1
m_world = m2 绘制就在m2了
[解决办法]
通过修改变换矩阵实现的吧。
[解决办法]
是不是最后被用作世界矩阵了吧。。
Device->SetTransform(D3DTS_WORLD, &m_world )
这样?