Jump to content
  • Advertisement
Sign in to follow this  
JaimeBarrachina

C++ rendering engines to look at for learning purposes

This topic is 1832 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, I'm looking for recent c++ 3D Rendering engines to use as a roadmap for my own little render engine. I'm in no hurry and prepared to spend a couple of years working on this, as it's mostly for learning and fun. For now I've chosen Horde3D, as it looks relatively recent and pretty good, but I'd like more experienced opinions on this.

In short, any good rendering engines to look at to make my own? Preferably:

  • Open source
  • Well documented
  • Recent
  • High performance
  • Multiplatform

Thank you for your toughs.

Share this post


Link to post
Share on other sites
Advertisement

Horde3D is really good for learnig!I recomend you to stick with Horde3D for now. Also take a look at Irrlicht and panda3d.

Share this post


Link to post
Share on other sites

Maybe not exactly what you are looking for, certainly not regarding modern shader techniques, but possibly some good lessons into general engine coding anyway;

I believe Quake1/2 and Doom3 (and maybe more id games) have the full source available as free downloads.

 

The older games are just C btw, Doom3 might be C++ though I'm not 100% sure. Anyhow having a good idea how to structurize the engine as a whole (a game is more than rendering!) is certainly a valuable fundament.

Share this post


Link to post
Share on other sites

Take a look at Hieroglpyh 3. It was written by Jason Z and contains many examples of rendering techniques. It's open source, the code is clean and easy to understand. It isn't multiplatform but after you have an API abstraction layer in place the rest of the code should be platform independent. As a plus, Jason Z is an active member of GameDev.

I wrote the framework and many of the samples, but both MJP and JollyJeffers (as well as others) have also contributed samples showing various techniques.  The style of the framework is evolving over time, but in general I try to use the most understandable implementations (for my own sanity) unless there is a big performance or maintenance benefit from updating.

 

Lately I have been updating a few areas to use templates when it makes the usage of a particular technique more robust/easier for the user.  There is also fairly active forums on the Hieroglyph 3 page, so if you have questions or want to see a particular feature, just fire up a discussion and it will get done.

Share this post


Link to post
Share on other sites

I have to caution against learning directly from many of the open-source rendering engines. You can do a lot with these engines if you are willing to put the legwork in, but very few of them are shining examples of architecture or design.

 

- Horde is pretty minimalistic, but ultimately not very flexible either - it doesn't give you enough to be terribly useful, beyond a starting point for a larger codebase.

- Ogre tries to be everything to everyone, with the result that it isn't quite right for anything, and the architecture maps somewhat poorly to modern graphics hardware (not to mention the eponymous obsession with object orientation).

- IrrLicht is an overgrown quake viewer, and pretty much a nightmare.

- Panda is pretty sophisticated, but the use of 2 programming languages throughout makes learning a bit rough, and it is not solely a rendering engine.

 

Hieroglyph and Wild Magic are probably your best bets. They a bit different to the others, I think largely because they were written as companions to game development books. You'll find a lot more careful thought put into the architecture. You will probably want to read the accompanying books, though, rather than dive right into the code.

Share this post


Link to post
Share on other sites

Thank you all for the replies, I think I'll use both Hyeroglyph3 and Wild Magic (and their respective books, that Amazon should be delivering next week).

Thanks again!

Jaime

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!