Greater Good Games is an independent game development studio dedicated to raising money for worthy causes through our passion for developing "casual games for gamers." We are currently developing our first title, Break Blocks, which is scheduled to be released in the second half of 2011 for Windows and Mac.

Report RSS Rendering Engine Rewrite Complete

I just finished rewriting the rendering engine underlying Break Blocks, adding a Scene Graph. I have written a tutorial about Scene Graphs, as I always wished someone would have written one when I started programming games 10 years ago.

Posted by on

I have often seen projects make the same mistake that I just finished correcting in Break Blocks, which is allowing each gameplay object in the game/engine draw its own renderables to the screen. When the project is small, this works well enough, but once you have hundreds of renderables being drawn by 10 or more gameplay objects, you may run into a which one renders first issue. Obviously this can be improved by turning on the Depth option and assigning a Z value to each renderable, but this requires turning off any sort of perspective mode, which will not work well when mixing 3D objects in. The answer is a simple, yet effective, Scene Graph that orders all objects based off a Depth or Z value. With everything ordered, we no longer have to worry about ordering our gameplay objects or turning on the Depth buffer. We also have the added ability of grouping similar renderables together to reduce the number of texture swaps(as long as there isn't anything that needs to be drawn in between the similar renderables).

For many programmers, this is common knowledge, but for new programmers, this tutorial may be useful.

Follow Us

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: