Почему D3DXCreateCylinder не создает цилиндр?

Я пытаюсь проложить след.
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);

Нужна помощь.

1 ответ

Решение

Вам нужно передать указатель на LPD3DXMESHпоэтому ваш параметр сетки должен быть &ppMeshCylinder вместо ppMeshCylinder, Фактически, ваш компилятор уже должен был предупредить вас.

Обновление: попробуйте передать большее значение для Slices а также Stacksскажем, 5 или 10. Невозможно создать цилиндрическую сетку с одним полигоном.

Другие вопросы по тегам