Post

Dread Engine

Dread Engine Mk1

In university, I got my first taste of computer graphics through a course focused on real-time rendering using OpenGL. We had to create two 3D objects with textures and add a couple of lights.

For my project, I used models made by other students and played around with Phong Lighting to light up the scene.

I also set up the camera so it could move around and explore everything.

Github

CommitMessage
00Initial commit
01Drawn to window using DreadEngine. Creating my own game engine
02Started work on shader. Currently not working
03Working Shader and IBO. Using Alex’s shader class and Josh’s IBO Code. Will need to rewrite to better understand
04Auto stash before checking out “HEAD”
05Working Engine. Lots of other peoples code that I’d like to rewrite.
06Working camera class. The camera can move around on the z and x axis but cannot rotate yet. BUT IT WORKS!
07Fixes to the camera. Fixed some small issues with moving the camera and added rotation around the mouse. It is very janky but works
08Writing my own cube. Made a cube using my own coordinates
09Created the Mesh class. Completion of a simple mesh class and commenting done
10Small changes to position. Slightly changed the position of the cube and the plane so that they rotate correctly
11Added Primitive shapes class. I can now make spheres, cubes and planes easily and I pretty sure that they actually work. To be proven wrong soon probably
12Fixed fly camera. Forward is no longer locked to world space but now is local to the camera which makes movement alot easier
13Adding functionality. Adding some functionality to the game loop and some cleaning
14OBJ Loader. Working OBJ loader and still functional program.
15Half working Texturing. Working texturing for one plane but now to get it working on a cube then other shapes
16WORKING TEXTURING. Got the goddamn texturing to work on a cube!! everything is facing the right way and is the right orientation!
17Working on lighting. The lighting is working but it is very messy and will need to be cleaned up alot!!
18Working ambient shader. Fixed it so that it is a currently working ambient shader, to get the specular shader to work it requires a lot of work! So I will leave it for later.
19Working material lighting. I cant light an obj object with material lighting,. still need to get it working with textures
20Working separate light and texture shaders. I now need to get a texture to work with the light shader. But I have no idea how I am going to do that
21LIT TEXTURES. I had a 1 where I needed a 2 and of course that ruined everything.. Now cleaning everything and attempting to break thing into classes without breaking them
22Started work on Object class + added models to git. Added the models as they were ignored for some reason. Also started work on the object class so I can move individual objects
23Currently working build. This build has two lights and models that can be moves, version control is a bit munted but fixing that now
24Fixed Merge Conflicts
25One lit and textured model. One super janky model that works but is super ugly!
26Fixed broken light. There was a problem with something honestly I don;t know but it works now so all there is left is to add the last object.
27ITS DONE. There are two lit objects in the worlds worst game engine ever made but it is goddamn done!! Now I should make it better!

Trailer

Dread Engine Mk2

My second shot at crafting a custom renderer I focused on tidying my code for better readability. It ended up with fewer features than the first one.

Github

CommitMessage
00Initial commit
01Initial Commit. DreadEngineMK2 This is my second attempt at a game engine which I would like to make better than my first.
02Fixes. Fixes to the initial commit. Hopefully it will still work
03Adding ignore
04Working on it
05Render window. I have a render window opening displaying a colour and closing without any errors, good place to check point
06Application3D class created. Moved the creation of the window off the main, which helps with readability. I believe that it is still working
07THE FIRST TRIANGLE. Rendered the first triangle. The main has become very messy again so now the next thing to do it move the shaders into their own classes but in a way that actually works this time!. Things are progressing nicely and I understand what is going on
08Added shader class. Added in a stand alone shader class which at this point seems to work.. Going Well I hope
09Textured Rectangle. Had an issue where the rectangle wasn’t being drawn correctly but it was because I was using the wrong gldraw function. Make sure you use the right functions for the right situations
10Rectangle now has a smiley face. Added a second texture which is still able to be rendered onto the box
11Added transforms to vertex shader
12Model matrix manipulation. Working on changing the model matrix which allows for moving objects around the scene.. Very cool.
13Added camera. Added external camera class from last project.. Now all there is to do is clean up and then begin to try add physics
14Adding gizmos. Adding external class gizmos
15Created Texture class and manager. and cleaned up the code a little bit
16Working texturemanager
17Code clean up

Dread Engine Mk3

Third attempt at a custom renderer with a specific purpose. My aim was to make a game using my own renderer with basic shape collisions. I was able to render 2 shapes in different colors then I stopped development on it.

Github

CommitMessage
00Initial commit
01Attempt no. 3 here we go!
02Updating VS broke everything!. Everything broke, nothing was linked or included I hate external stuff!
03Update
04Update
05Create Delta time
06Creating quads
07Added transforms
08Quad holds the transform. Updates the shader per quad with its transform information
09Can move quads by updating position
10Put quad creation into a vector. I can now make lots of quads much easier
11Added global QUADAMOUNT. This is to stop from either drawing or deleting more than exist
12Added Image loading and Texture Class
13Textured Quads
14Attempting to add more textures
15Fixing texture issues
16Done quite a bit. Now you can add ballz on the fly,. Thinking of adding a square class so that it can have hp to correspond with its color.. Currently working state
17Creation of Square Class
This post is licensed under CC BY 4.0 by the author.