• Advertisement

Archived

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

Speed of matrix operations

This topic is 6041 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

Hello there, I am currently trying to optimize my hierarchical object transformation pipeline. I'm using the typical approach: glPushMatrix() .. .. object specific transformation goes here .. render object .. glPopMatrix() OK, now which one is faster: glPushMatrix() glTranslatef(Object->T.x, Object->T.y, Object->T.z) glRotatef(Object->R.angle, Object->R.x, Object->R.y, Object->R.z) glScalef(Object->S.x, Object->S.y, Object->S.z) ... render it glPopMatrix() or this one: glPushMatrix() glMultMatrix(Object->LocalMatrix) ... render object glPopMatrix() I personally like the second one, it has lower overhead and less memory references, but I read somewhere, that glMultMatrix and glLoadMatrix are quite slow ? And what about the performance of glPushMatrix and glPopMatrix ? I assume that on newer 3d cards with hardwired t&l this should be implemented in hardware and therefore very fast ? Thanks ! A.H aka Blueshift Edited by - Blueshift on July 5, 2001 3:09:15 PM

Share this post


Link to post
Share on other sites
Advertisement
The glPush* functions aren''t that great on speed to being with ( I was just talking about this with a guy from #flipcode), and there has been much discussion over it at OpenGL.org''s forums. In the end, don''t use the glPush/Pull functions if you don''t have to.

------------------------------
Trent (ShiningKnight)
E-mail me
OpenGL Game Programming Tutorials

Share this post


Link to post
Share on other sites
push/pop matrix isnt so bad
push/pop attrib is very bad though

the loadmatrix version will be the quickest.


http://members.xoom.com/myBollux

Share this post


Link to post
Share on other sites

  • Advertisement