Рабочий пример такой:
D3DXMatrixScaling(&mObject,scaling.x,scaling.y,scaling.z);
D3DXVECTOR3 cameraDir=translation-camera[currentCamera]->lookFrom;
if (cameraDir.x>0)
D3DXMatrixRotationY(&mTmp,-atanf(cameraDir.z/cameraDir.x)+D3DX_PI/2);
else
D3DXMatrixRotationY(&mTmp,-atanf(cameraDir.z/cameraDir.x)-D3DX_PI/2);
D3DXMatrixMultiply(&mObject,&mObject,&mTmp);
D3DXMatrixTranslation(&mTmp,translation.x,translation.y,translation.z);
D3DXMatrixMultiply(&mWorld,&mObject,&mTmp);
d3dd->SetTransform(D3DTS_WORLD,&mWorld);
Это для объекта в целом (работа с матрицами).
Еще есть какой-то вариант, когда каждая вершина считается вручную - подходит
непосредственно для частиц.
Подскажете?
Сейчас приследуемая цель: создание облаков с помощью частиц.
Но в будущем и объект целиком поворачивать понадобится, а это мне удобней
делать именно с помощью матриц.
Bye!
MoonStone.