C++ rendering engines to look at for learning purposes

Started by
10 comments, last by SergeyAS 10 years, 8 months ago

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.

Advertisement

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.

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

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.

Thanks for all the replies. Any more options? :)

Sure:

- https://www.panda3d.org/

- http://sourceforge.net/projects/sylphis3d/

- http://gameplay3d.org/index.php

Good luck :)

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.

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.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

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

You can also take a look at Ogre3D, though it's pretty big and might be overwhelming.

This topic is closed to new replies.

Advertisement