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.
Commit | Message |
---|---|
00 | Initial commit |
01 | Drawn to window using DreadEngine. Creating my own game engine |
02 | Started work on shader. Currently not working |
03 | Working Shader and IBO. Using Alex’s shader class and Josh’s IBO Code. Will need to rewrite to better understand |
04 | Auto stash before checking out “HEAD” |
05 | Working Engine. Lots of other peoples code that I’d like to rewrite. |
06 | Working camera class. The camera can move around on the z and x axis but cannot rotate yet. BUT IT WORKS! |
07 | Fixes to the camera. Fixed some small issues with moving the camera and added rotation around the mouse. It is very janky but works |
08 | Writing my own cube. Made a cube using my own coordinates |
09 | Created the Mesh class. Completion of a simple mesh class and commenting done |
10 | Small changes to position. Slightly changed the position of the cube and the plane so that they rotate correctly |
11 | Added 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 |
12 | Fixed fly camera. Forward is no longer locked to world space but now is local to the camera which makes movement alot easier |
13 | Adding functionality. Adding some functionality to the game loop and some cleaning |
14 | OBJ Loader. Working OBJ loader and still functional program. |
15 | Half working Texturing. Working texturing for one plane but now to get it working on a cube then other shapes |
16 | WORKING TEXTURING. Got the goddamn texturing to work on a cube!! everything is facing the right way and is the right orientation! |
17 | Working on lighting. The lighting is working but it is very messy and will need to be cleaned up alot!! |
18 | Working 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. |
19 | Working material lighting. I cant light an obj object with material lighting,. still need to get it working with textures |
20 | Working 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 |
21 | LIT 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 |
22 | Started 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 |
23 | Currently working build. This build has two lights and models that can be moves, version control is a bit munted but fixing that now |
24 | Fixed Merge Conflicts |
25 | One lit and textured model. One super janky model that works but is super ugly! |
26 | Fixed 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. |
27 | ITS 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.
Commit | Message |
---|---|
00 | Initial commit |
01 | Initial Commit. DreadEngineMK2 This is my second attempt at a game engine which I would like to make better than my first. |
02 | Fixes. Fixes to the initial commit. Hopefully it will still work |
03 | Adding ignore |
04 | Working on it |
05 | Render window. I have a render window opening displaying a colour and closing without any errors, good place to check point |
06 | Application3D class created. Moved the creation of the window off the main, which helps with readability. I believe that it is still working |
07 | THE 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 |
08 | Added shader class. Added in a stand alone shader class which at this point seems to work.. Going Well I hope |
09 | Textured 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 |
10 | Rectangle now has a smiley face. Added a second texture which is still able to be rendered onto the box |
11 | Added transforms to vertex shader |
12 | Model matrix manipulation. Working on changing the model matrix which allows for moving objects around the scene.. Very cool. |
13 | Added camera. Added external camera class from last project.. Now all there is to do is clean up and then begin to try add physics |
14 | Adding gizmos. Adding external class gizmos |
15 | Created Texture class and manager. and cleaned up the code a little bit |
16 | Working texturemanager |
17 | Code 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.
Commit | Message |
---|---|
00 | Initial commit |
01 | Attempt no. 3 here we go! |
02 | Updating VS broke everything!. Everything broke, nothing was linked or included I hate external stuff! |
03 | Update |
04 | Update |
05 | Create Delta time |
06 | Creating quads |
07 | Added transforms |
08 | Quad holds the transform. Updates the shader per quad with its transform information |
09 | Can move quads by updating position |
10 | Put quad creation into a vector. I can now make lots of quads much easier |
11 | Added global QUADAMOUNT. This is to stop from either drawing or deleting more than exist |
12 | Added Image loading and Texture Class |
13 | Textured Quads |
14 | Attempting to add more textures |
15 | Fixing texture issues |
16 | Done 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 |
17 | Creation of Square Class |
This post is licensed under CC BY 4.0 by the author.