Reccomended 3D engines to learn from?

Hi everyone,

The past few months, I’ve downloaded a handful of 3D engines (complete with App classes, rendering classes, math, frustum and other classes) from, to try and learn what 3D engines do and how they’re tied together.

Problem is, while the engines themselves work fine, and look great, I’ve had bad luck in finding any that were actually documented. Very sparse comments in the code (if any), and no readmes worth mentioning.

When you’re trying to learn how some guy’s BSP tree works or which OpenGL extensions he’s using you need all the help you can get

Anyway, could you reccomend a reasonably-well featured 3D engine with source code that a guy can learn from?  I'm hoping someone has put an engine together for the purpose of teaching the features and ideas involved.  The ones I've looked at were more or less brainstorms from college guys who were too busy to document anything.  

Thanks for the advice.

That’s simple. Download the Wolfenstein 3D, Doom, Heretic, Hexen, and Quake sources. Tinker with those like I did for collisions and such, but GL is a whole other story. I picked it up at NeHe’s site and had a fully-functioning (no collisions) 3D engine in about four hours. Keep in mind that some of the stuff on his site is outdated (the auxilary stuff I never had work in 1.1) but the rest is simple! I do NOT recomend using glut as he does though, because you lose some degree of control when using it, although it does make coding GL super-easy. Then again, the easier it gets, the less detailed it gets !

Thanks for the help.

I guess I could download the Quake sources, but my goal right now is to walk before I run; I’m most interested in a documented 3D engine, one that explains what it’s doing and why. I don’t know if the Quake/Hexen sources do that?

The 3D engines I’ve downloaded so far look very cool, but without any source comments to read against it’s really hard trying to figure out what they’re doing and why.

hey jim. i think the best you can do, for the kind of detailed documentation you want, is tutorials like the ones at nehe , which i assume you’re familiar with. if you want to “walk before you run”, it’d probably be a good idea to start with topic-specific tutorials like he has there. i can’t imagine someone writing a complete game engine with “hold my hand” style documentation (no offense). if you’re looking into constructing a game engine, i would think you’d already know what you’re doing enough such that you can look at someone’s code and figure out what’s going on. oh well, just my opinion. good luck.

[This message has been edited by SThomas (edited 06-06-2003).]

I second SThomas recommendation. For someone learning GL (like I am), trying to digest a 3D engine is too much right now. I’m writing my own simple GL application now, and only learning what I need to get it working (transformations, texture mapping, material/lighting, special effects like lens flares, etc.). Nehe is a great place to get stuff that covers each topic.

Bite off only what you can chew…

Try out this link. It redirects to a page containing links to 3DEngines’ sites. U might have already got to it. If u haven’t do check it out.


[This message has been edited by abhijeet_maharana (edited 06-10-2003).]

Also u might like having a look at