Skip to main content
GameDev.net gamedev.net
🔒 Locked

Open sourced engines

Started by deadstar Aug 16, 2008 at 10:48 PM 8 replies 1.9k views
Original Post
deadstar
deadstar
Following a thread in the lounge about wishes to see popular games open sourced, it got me thinking. Is there a recent, all-singing shader-based engine available open source? I know there are a lot of efforts like the Cube engine and such, as well as id's offerings, but they're getting on a bit. Google isn't helping me much. I'd love to take a look. I know there's controversy about learning from source code, but this is mainly curiosity. On the other hand, has anyone here released their pride and joy with source?
"The right, man, in the wrong, place, can make all the dif-fer-rence in the world..." - GMan, Half-Life 2   A blog of my SEGA Megadrive development adventures: http://www.bigevilcorporation.co.uk
ractoc
ractoc
The engine I plan on using for the GFX part is JMonkeyEngine. But this is a Java engine so it might not be what you need.
Triton
Triton
OGRE?
nife87
nife87
On top of my head; Ogre3D, CrystalSpace 3D, xengine, GhostEngine and OpenEngine.

But there exist many more, and most custom ones, of which some are actually quite advanced, are anyways hidden within open-sourced games (ie. not standalone engines), so try and have a look at SourceForge.
Hodgman
Hodgman
Quote:
Original post by deadstar
Is there a recent, all-singing shader-based engine available open source?
I'm a fan of Horde3D, which is entirely shader based. It's great to be able to try out new effects without having to touch any C++ code ;)
Ashkan
Ashkan
Although it's been said a thousand times, for a comprehensive list of 3D engines (both commercial and open source) along with users' opinions, comments and goodies you can always consult DevMaster's 3D Game and Graphics Engine Database.
deadstar
deadstar
Fantastic, I'll take a look at them all.

The big problem I was having was finding how to make the jump from fixed function to FULLY shader-based. From the few examples I've looked at, I concluded that (in OpenGL) vertex arrays and glDrawElements remains, but anything to do with materials, textures, colour, shadows etc is done in a shader. Does this mean that EVERY renderable object must have a shader?

Making the jump from a fixed-function engine to a full shader engine is proving difficult, and I was hoping looking at existing examples would help. I'll have a browse through.

"The right, man, in the wrong, place, can make all the dif-fer-rence in the world..." - GMan, Half-Life 2   A blog of my SEGA Megadrive development adventures: http://www.bigevilcorporation.co.uk
Spoonbender
Spoonbender
Quote:
Original post by deadstar
Fantastic, I'll take a look at them all.

The big problem I was having was finding how to make the jump from fixed function to FULLY shader-based. From the few examples I've looked at, I concluded that (in OpenGL) vertex arrays and glDrawElements remains, but anything to do with materials, textures, colour, shadows etc is done in a shader. Does this mean that EVERY renderable object must have a shader?

Hard to shade something without a shader, so yes.

Of course, a lot of objects will presumably reuse the same shader, so it's not like you need to write a shader program for every object you render.
deadstar
deadstar
Quote:
Original post by Spoonbender
Quote:
Original post by deadstar
Fantastic, I'll take a look at them all.

The big problem I was having was finding how to make the jump from fixed function to FULLY shader-based. From the few examples I've looked at, I concluded that (in OpenGL) vertex arrays and glDrawElements remains, but anything to do with materials, textures, colour, shadows etc is done in a shader. Does this mean that EVERY renderable object must have a shader?

Hard to shade something without a shader, so yes.

Of course, a lot of objects will presumably reuse the same shader, so it's not like you need to write a shader program for every object you render.


So were my presumptions correct? Fixed function vertex arrays remain (until Geometry Shaders kick in at least)?

I'll draw up a plan and get some sort of demo together during the week.
"The right, man, in the wrong, place, can make all the dif-fer-rence in the world..." - GMan, Half-Life 2   A blog of my SEGA Megadrive development adventures: http://www.bigevilcorporation.co.uk
V-man
V-man
Quote:
Original post by deadstar
Quote:
Original post by Spoonbender
Quote:
Original post by deadstar
Fantastic, I'll take a look at them all.

The big problem I was having was finding how to make the jump from fixed function to FULLY shader-based. From the few examples I've looked at, I concluded that (in OpenGL) vertex arrays and glDrawElements remains, but anything to do with materials, textures, colour, shadows etc is done in a shader. Does this mean that EVERY renderable object must have a shader?

Hard to shade something without a shader, so yes.

Of course, a lot of objects will presumably reuse the same shader, so it's not like you need to write a shader program for every object you render.


So were my presumptions correct? Fixed function vertex arrays remain (until Geometry Shaders kick in at least)?

I'll draw up a plan and get some sort of demo together during the week.


Well, you would need to send vertices so that they get processed right?
Even if you use geometry shaders, you will send vertices or some kind of data down the pipe.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.