GOPHERSPACE.DE - P H O X Y
gophering on gopher.linkerror.com
h: ==========================: not found
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
______________________________________________________________________
                  Gophered by Gophernicus/3.0.1 on FreeBSD/amd64 13.0