# Game engine development log | |
So I decided to make a game engine. Not for any particular | |
reason other than for funzies. The odds are high that it | |
never gets finished, but nevertheless, I will attempt to | |
document the endeavor here. | |
# Video's showing progress: | |
1) Here I have triangle and quad primitives working, but I'm dealing | |
with some weird render artifacts. | |
eternal01.mkv | |
2) I have the basics of an event handling system implemented, which | |
means i can respond to keypress events. Here's a triangle changing | |
color every time I press a key! | |
eternal02.mkv | |
3) At this point all the basic classes around scene nodes are taking | |
shape, and I got all the matrix math for moving things around figured | |
out. Our triangle can now jump around. | |
eternal03.mkv | |
4) Implemented a cube scene node. | |
eternal04.mkv | |
5) Scene graph traversal. Transform matrices of a parent node affect | |
the children. So if I rotate the parent cube, the other 2 cubes | |
rotate along with it. | |
eternal05.mkv | |
6) Texture loading works! Tested with obligatory borg cube. There is | |
some flicker in this video because the texture coordinates are wrong, | |
causing the texture to overlap. | |
eternal06.mkv | |
7) Able to load 3d models, but broke texture loading. | |
eternal07.mkv | |
8) Fixed texture loading. Made a hoooooorrrible texture for my test | |
vampire :) | |
eternal08.mkv | |
9) Embedded texture loading works for any type of image format now | |
(it was just dds images before) - so we should be able to support a | |
large variety of model/texture formats. In this demo I whip up a | |
quick ugly barrel in blender and import it into the engine. It's | |
pretty easy now, which should make content creation a breeze. | |
eternal09.webm | |
10) Got text rendering working with fonts loaded from the freetype2 | |
library. | |
eternal10.webm | |
11) Added GUI functionality using the 'dear imgui' lib. | |
eternal11.webm | |
12) Terrain rendering. | |
eternal12.webm | |
13) Implemented deferred rendering and point lights. | |
eternal13.webm | |
14) Global ambient light multiplier, better light demo, starting | |
editor implementation. | |
eternal14.webm | |
15) Editor is actually more fleshed out now and usable - start of a | |
mouse controlled camera implementation. | |
eternal15.webm | |
16) (2021-01-18) Working on importing animations, visualizing bone | |
weights. | |
eternal16.webm | |
17) (2021-11-03) Got VR support sort-of half-assed working. | |
eternal17.mp4 | |
______________________________________________________________________ | |
Gophered by Gophernicus/3.0.1 on FreeBSD/amd64 14.0 |