• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 452
  • Last Modified:

direct 3d transform

Hi!
i'm working with directx 8 and i wanna create a 3d app(c++).

for each object i wanna use, i store all rotations, all scales and all translations. (in each direction (x,y,z)).
so, when i want to render a object, i call

D3DXMatrixTransformation(&matworld,NULL,&t_rotations,&t_scales,NULL,NULL,&t_translations);

and just before rendering
dxmanager->lpd3ddev->SetTransform(D3DTS_WORLD, &matworld);

it seems to work when my object is only scales and/or translated, but when i try to rotate it... the scale doesn't work anymore...

pleeeaaase heeeeeelp!!

thanks, Ralph
0
ralph78
Asked:
ralph78
1 Solution
 
kamareyCommented:
Try this:
D3DXMatrixTransformation(&matworld,NULL,NULL,&t_scales,NULL,&t_rotations,&t_translations);

if it doesn't work use this functions to do your transformations:
D3DXMatrixRotationAxis(), D3DXMatrixScaling(), D3DXMatrixTranslation().
matrix = ms * mr * mt;
SetTransform(matrix);

If it still doesn't work place here your code.
0
 
ET3DCommented:
You're using the wrong rotation parameter. I assume you want to rotate the object, in which case you should use the rotation and rotation centre parameters, not the "scaling rotation" which you're using in the code you posted.
0
 
CleanupPingCommented:
ralph78:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now