The whole reason of getting sprite rendering up and running was so that I could make a small game. As I’m not exactly new to programming I thought I’d skip over the usual starting games of pong & breakout and start with something a little more involving and as one of my house-mates was already in process of creating a Tetris clone I thought I’d got for something different. Space Invaders.
Seeing as though I’ve been working on a rendering framework since the beginning of the year I thought it was about time I posted something about it. This is going to be a brief overview of what I’ve done so far with the more recent addition of sprite rendering, which I intend on using for a small game project soon.
So far I have created:
- A wrapper class for the DirectX 11 device & context.
- A templated container class which I use for storing the various objects that are used when rendering e.g.:
- Meshes & Submeshes.
- Textures etc.
- A scene class which has one of each of the containers above for the objects needed for that scene. The scene class will also be responsible for specific scene functionality, for example, the menu scene will be responsible for displaying the correct menu at the appropriate time.
- A render class, which is responsible for rendering scenes.
When using a traditional forward rendering approach to draw objects you will find yourself limited to a small number of lights being able to affect any one object at a time. This is because you are bound by the number of instructions that can be used in a single shader.
Deferred shading is one technique that can be used to overcome the limitations of a standard forward rendering system. It takes it name from the fact that no shading is performed during the first pass when the geometry is actually rendered: instead it is “deferred” to a second pass.
I started this project while my PC was away being repaired and I’ve been working on it whenever I’ve had the chance, been quite a busy month so far. What this program does is convert a mesh file (loaded via Assimp) and converts it to a binary format & outputs the data to a file. That simple
I’ve finally got my PC back (been working from my laptop for the last 5 weeks ) after sending it back on an RMA. Turns out the motherboard and the RAM appeared to be faulty so they were replaced, and now it’s back firing on all cylinders! So I’ve spent most evenings this week since I got back from work rebuilding my PC and getting everything installed/copied back over from backups & laptop. Hopefully now I can get back to doing some work that I was planning while my PC was out of action, watch this space!