Sign in to follow this  
Kraythe

Abstracting out OpenGL and DirectX ???

Recommended Posts

Greetings, I am an accomplished programmer but I havent done much with game developement til now. I was wondering if there was a way to create an engine where the graphics library is abstracted out of the engine. The idea being that you could build it with OpenGL or with DirectX at your leisure. Is this possible or are the two libraries just too different to be able to do this effectively? -- Kraythe

Share this post


Link to post
Share on other sites
Quote:
Original post by HopeDagger
Nope, this is entirely do-able. Popular engines like OGRE 3D and Irrlicht do this without any problems. :)

EDIT: Nuts, 17 seconds. :P


Ahaaaaaa ... ok so this is what I am lookign for. My next question would be which is better; orgre or irrlicht?

Share this post


Link to post
Share on other sites
Quote:
Original post by Kraythe
My next question would be which is better; orgre or irrlicht?
That's a trick question because neither is better. Many like Irrlicht for its simplicity, the fact that it provides everything in one dependant DLL and its singleton-free design. Many like Ogre for its popularity and its singleton design. All in all, it's completely up to you and what you think would be best for your situation. Try your hand at Ogre, and then try your hand at Irrlicht and decide for yourself! [wink]

Personally, I like Irrlicht as it's singleton-free. IrrlichtDotNet is functional as well (Irrlicht for .NET), as oppose to the very young OgreDotNet. There is Axiom (C# Ogre port), but it's slowly dying, sadly.

Share this post


Link to post
Share on other sites
Just as an "additional" (or my 2 cents)

If you're not willing to work with either Irrlicht or Ogre (both are great), then I would seriously consider sticking to just one API: either OpenGL or Direct3D.

Don't get trapped in the "I-must-have-THE-perfect-design" mentality at the expense of your actual game.

Just my 2 cents. :)

If your goal is to only work on an engine, then either disregard this message, or at least seriously consider the drive behind supporting both API's. Is it for "cool" coder reasons, or for an actual business reason?

Worth considering IMHO..


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this