Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


Transfering world matrix from 3d modeler to DX app

This topic is 5871 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I''m just starting to write a new DX8 engine, and I''m wondering what methods people use to find out the proper world transformation matrix for a model. I''ve found some of the basic models I''ve made have seemingly arbitrary matrices. For instance, the tiny.x model that comes with the SDK requires...
	D3DXMatrixRotationX( &g_WorldMat, -1.4f );
	D3DXMatrixRotationY( &mat, -D3DX_PI );
	D3DXMatrixMultiply( &g_WorldMat, &g_WorldMat, &mat );
	D3DXMatrixScaling( &mat, 0.005f, 0.005f, 0.005f );
	D3DXMatrixMultiply( &g_WorldMat, &g_WorldMat, &mat );
in order to look right. How are you suposed to figure that out?! besides trial and error.

Share this post

Link to post
Share on other sites
I had the exact same problem. Here''s what I do (it''s basically guess and check for the first model, then easier for all subsequent models):
1) Model something using my modelling software. This something will be my reference object. Ensure that the reference object is on the origin. If it''s not on the origin, it will be hard to find in the D3D program.
2) Import the reference object into my application, ensuring that it appears on top of the origin. (Apply no transformations.)
3) Point the camera at the origin.
4) Scale the object using crude keyboard commands (''z'' for scale up by 10%, "x" for scale down 10%) until the object is the right size on the screen.
5) Count how many times I scaled the object.
6) Scale the reference object to the correct size in the modelling software.
7) Whenever I have to model something else in the modelling software, I also load the reference model to make sure everything is the right size and is pointing in the same direction.

An alternative is to simply move the camera using crude/hacked commands. Just make sure you have some way of recording the camera''s location and direction (use the debugger.) This method is much harder, as often you''ll move the camera all around, only to discover that you can''t find the object! Or that the object is outside of the camera''s viewing frustrum and thus is not being rendered.

Alexander "DmGoober" Jhin
[Warning! This email account is not attended. All comments are the opinions of an individual employee and are not representative of Microsoft Corporation.]

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!