Hello everyone, and welcome to this week's
game development log video diary, and this
week, I am back! I've finished
my final university exams and my dissertation,
so I can now finally get back to working on
the more important things
in life such as rewriting the rendering engine
for my game. And that is what I've been working
on this week. It's not
yet fully connected up with the game though,
so this video will be more of a demonstration
of the engine, and I'll
start things off by showing you the lighting
improvements.
So if we take a quick look back at how the
lighting was before you can see that the lighting
wasn't the highest of
qualities, especially on shiny materials like
the player's helmet here.
But in the new engine you can see that the
lighting is much much smoother. And that's
because I'm
now using per pixel lighting instead of per
vertex.
I've also improved the way multiple light
sources work in the new engine. The use of
these was really limited in the
old engine, and each object could only be
lit by just one extra light source, so I couldn't
put light sources too close
together. But I've changed that now and you
can see the tree and the bunny here being
lit up nicely by all three of
these colorful lamps.
I also worked on a new level of detail system
this week and I can demonstrate the new mesh
simplification algorithm here on the
Stanford dragon model. So as the camera moves
further away from the model it would be simplified
like this, and you can
see that even when the model is simplified
to less than 1% of its triangles it still
holds the shape of the dragon fairly
well. And if this was rendered far enough
in the distance you'd hardly be able to tell
the difference between the original
and the simplified version.
As well as that I implemented the opengl mipmapping
function, and I've exaggerated the effect
here so that you can see
what's going on. So textures are only rendered
in high definition when you get close enough
to them, which increases
performance by quite a bit, and it also helps
to stop textures flickering off in the distance.
The terrain also now has a much improved level
of detail system and that's because I've implemented
the geomipmapping algorithm which
simplifies parts of the terrain depending
on how far away they are from the camera,
which you can see here. And if
I turn off the algorithm you can see just
how many triangles the algorithm actually
removes from the terrain, and I'm sure
you can imagine just how much slower it would
be to render the terrain if I didn't use this
algorithm.
On the topic of terrains, they are now 64
times larger than they were before, which
makes it very easy for me to make
some massive terrain formations like this.
And it also means that I can use larger blend
maps to indicate where textures
should be rendered on the terrain, so it's
much easier for me to paint these sprawling
pathways across huge sections
of the map.
And finally a couple of little texture changes.
I've allowed for texture atlas support for
animated models, so these rabbits
can now have individual colors and yet still
all use the same texture file. And, as you
may have noticed before, parts
of textures can now be set to glow the whole
time like the windows of these houses here,
giving them a more lived-in
look.
And that it it for this week! Next time I'm
going to be joining up the new engine with
my game, and also adding a couple
of new features as well. I'm actually off
on holiday for a couple of weeks now, so that
video will probably be up in
2 weeks time, but after that I should finally
be back to uploading pretty much weekly again.
But yeah, thank you guys very much
for watching this video, sorry that it's been
such a long time coming,
do subscribe if you haven't already, have
an awesome week, and I will see you all next
time.
