我正在努力使球前进。
rBallPos
正在正确更新。
以下代码无法正常创建
一个圆柱体作为球的踪迹。如何
解决这个问题?
LPD3DXMESH /*ID3DXMesh*/ ppMeshCylinder = NULL;
hr = D3DXCreateCylinder(g_d3d_device,0.1f,0.1f,0.1f,1,1,&ppMeshCylinder,0);
hr在这里也失败了hr!= D3D_OK
D3DXMATRIX cylinder, cylinder2, cylinderRotate, cylinderTrans;
D3DXMatrixRotationX(&cylinderRotate, 1.5f);
D3DXMatrixTranslation(&cylinderTrans, rBallPos.fX, rBallPos.fY, rBallPos.fZ);
D3DXMatrixMultiply(&cylinder, &cylinderRotate, &cylinderTrans);
g_d3d_device->SetTransform(D3DTS_WORLD, &cylinder);
ppMeshCylinder->DrawSubset(0);
需要帮忙。
最佳答案
您需要传递指向LPD3DXMESH
的指针,因此您的网格参数应为&ppMeshCylinder
而不是ppMeshCylinder
。实际上,您的编译器应该已经发出警告。
更新:尝试为Slices
和Stacks
传递较大的值,例如5或10。无法创建仅包含1个多边形的圆柱网格。