почему D3DXCreateCylinder не создает цилиндр? - PullRequest
0 голосов
/ 07 апреля 2011

Я пытаюсь сделать след из мяча.
rBallPos правильно обновляется. Следующий код не работает создание цилиндр как след мяча. Как решить это?

LPD3DXMESH /*ID3DXMesh*/ ppMeshCylinder = NULL;
hr = D3DXCreateCylinder(g_d3d_device,0.1f,0.1f,0.1f,1,1,&ppMeshCylinder,0);

ЧАСЫ НЕ УКАЗАНЫ и здесь! = 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 Ответ

2 голосов
/ 07 апреля 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...