Best open source graphics engine to learn from?

Started by
7 comments, last by j_uk_dev 8 years, 3 months ago

I've been learning from Irrlicht but then I was told it's very old and stupid.

I downloaded the source code of Horde3D and it looks quite neat as it's also lightweight, unlike complex monsters like Ogre3D.

Are there any good recommendations? I'm targeting good coding practice and rendering techniques. (mainly scene management stuff)

Advertisement

Horde is cleaner than most of your other options, but basically, all the open-source rendering engines are going on a decade old, and are not great examples of renderer design.

Ogre's v2.1 rewrite (previously named 'AZDO', after the 'approaching zero driver overhead' article), is probably the closest you'll get right now.

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

Curseye3DEngine is an independent OpenSource 3D Engine written in java and OpenGL. Demos and Documentations available on http://www.curseye3d.com

Tutorials on Youtube-channel coming soon.

What exactly do you expect to learn?
I don't think that watching other engines code is any helpful... at all(well I do It in order to see how "superior" my engine is tongue.png but this is entirely different thing).

What exactly do you expect to learn?
I don't think that watching other engines code is any helpful... at all(well I do It in order to see how "superior" my engine is tongue.png but this is entirely different thing).

I pretty much have no idea how an engine works. Everything I've done so far is mainly intuition.

I hate it when I code a lot then I realize I'm doing stuff the wrong way. I wish there was a good book on the subject.

I read main parts of Game Engine Architecture, mainly the "Rendering Engine" chapter. The author talks a lot about low-level stuff and not how a SceneManager should work at all.

I'm pretty desperate and open for any kind of information! Lots of motivation here ph34r.png

You could take a look at Urho3D. It's only a couple years old.

BGFX is another modern one... although I'd recommend only studying it's concepts, not it's implementation practices.

I was a big Horde3D fan at the time, but it's heavily cemented in the OpenGL 2 era.

What exactly do you expect to learn?
I don't think that watching other engines code is any helpful... at all(well I do It in order to see how "superior" my engine is tongue.png but this is entirely different thing).

I pretty much have no idea how an engine works. Everything I've done so far is mainly intuition.

I hate it when I code a lot then I realize I'm doing stuff the wrong way. I wish there was a good book on the subject.

I read main parts of Game Engine Architecture, mainly the "Rendering Engine" chapter. The author talks a lot about low-level stuff and not how a SceneManager should work at all.

I'm pretty desperate and open for any kind of information! Lots of motivation here ph34r.png

I don't think that "Game Engine Architecture" book is any good.

Currently I see 2 ways to learn "how to make engines"(trademark):

1 - Write a few small games(breakout, simple side scroller, "the impossible game", something minimal) from scratch. See what functionality you need and what API works best. After you've cleared your mind write a small library with that functionallity wriped up and call it "game rendering engine". This is want happend to me. It took few years, because I was 15 years old back then, and there were no references(or not much) at that time (Im 23 and I still write that "engine", this is my 3rd start from nothing).

2 - use a 3rd party reliable engine for a while, see what you like and what you don't and try to write a better version. This is just an idea from the top of my head, I don't know anyone who learned that way, and I'm not sure how effective will it be.

So if you really want to make a "rendering engine" my personal suggestion is going to be 1).

If open source and modern engine then why don't you look at Unreal Engine? It's in GitHub (you need to register first on Epic website and link Epic account with your GitHub account to access the repository).

This topic is closed to new replies.

Advertisement