Page 1 of 1

Right handed, OpenGL camera, and projection matrix, discuss

Posted: Tue Dec 21, 2010 2:01 pm
by vicviper
Hi

I'm tikering with irrlicht, and I've found that it uses left handed convention.

I am working in a project that is trying to be 3D engine autistic, and one of the rules I've set to myself is to be able to switch the project to any other engine, provided that given engine has certain features.

Right now, I am leveraging Irrlicht vs Ogre3D, so far I've found Ogre3D more powerful, but also more difficult to use, and I value productivity, a lot, so right now it's 50% / 50% ... what I've found VERY frustrating is that Ogre3D is Right Handed and Irrlicht is Left Handed.

So far, I've found ICameraSceneNode has some methods that might help switch irrlicht from left handed to right handed, these are the options I am considering, and I would ask you to tell me what you think:

- use ICameraSceneNode.setProjectionMatrix , and set a right handed projection matrix (should only need some sign changes here and there) - this would be the easiest for me, but the projection matrix is a really low level property of a 3D engine, and I fear the consequences all over the engine, like bad light and shadow computation, billboards not showing, custom made SceneNodes that assume right hand not working, etc. Does someone tried to do this before?

- Make a wrapper between irrlicht and my project, so from the outside it would look like a right handed system, this would involve "flipping" direction of assets to make the trick; I don't like this one because it would involve rebuilding assets specifically, and sometimes this is not possible.

Any help or previous experiences with this will be appreciated, thanks!

V