One of the big features any useful engine needs is the ability to save its state and the state of its components to file. This is necessary for things like saving a game, but is more useful for things like saving a scene in an editor. C# provides two types of serializer. The first is [...]
-
January 24th, 2009 by Sean
In this tutorial, we will be adding a postprocessing system to our engine. A postprocessor is an effect (.fx file) that only contains a pixel shader. It takes the current frame buffer value and applies the pixel shader to it, applying effects such as blurs, bloom, and special effects. The post processor class is called [...]
-
December 30th, 2008 by Sean
In this tutorial we are going to create a component predicate, a class used to determine whether or not a component will be used for an action. This is useful for things like special drawing, for example when drawing shadows we only want shadow casters to draw when creating the shadow map. Side note: I [...]
-
December 19th, 2008 by Sean
In this tutorial we will be creating basic terrain from a heightmap. This is starting code for a more advanced terrain we’ll make in a later tutorial. This one has no efficiency algorithms or fancy drawing techniques like multitexturing and atmospheric scattering. The idea here is that you have a grayscale picture, and you generate [...]
-
December 16th, 2008 by Sean
Note: Finish Chapter 6.5 before starting this chapter if you started the tutorial series before 12/10/2008 This one is quick because I’ve been very busy leading up to christmas, so here goes. This tutorial is on building a first person camera, the type used in most games these days. It can be moved and rotated. [...]
-
December 8th, 2008 by Sean
Note: This section is not necessary if you started with tutorial #1 after 12/10/2008 In this mini-tutorial, we will be making some minor updates to the engine. First, we will be changing the utility classes to static classes. Remove the instances of MathUtil and GraphicsUtil from the Engine class. Then, add the modifier ‘static’ before [...]
-
December 7th, 2008 by Sean