Archive by Author
13
Nov

[Progress Update] Shadows

The last progress I posted that included screenshots was when I added textures.  That was a few months ago.  While I have not had much to report since then, I have been no lazy bum.  There were many advancements, but I wanted to wait until I had shadows before I posted anything major. I am [...]

Continue Reading →
27
Oct

Procedures for Safe Coding

Overview One of the things every programmer learns as he or she gains experience is how to avoid mistakes.  Each time you make a mistake, you surely consider a way to avoid that mistake next time.  As you gain experience, you start to discover practices that can help you to avoid a lot of mistakes. [...]

Continue Reading →
18
Oct

Tutorial: Tightly Culling Shadow Casters for Directional Lights (Part 2)

Continued… In the previous tutorial we came to the conclusion that the below image highlights the planes we want to pull towards ourselves, assuming we are the light source. Representing planes in 2D is not easy, but imagine each black line segment represents a plane that is coming from our eyes and is rotated along [...]

Continue Reading →
17
Oct

Tutorial: Tightly Culling Shadow Casters for Directional Lights (Part 1)

Overview Let’s start with a directional light.  It casts shadows all over the scene.  Since it is a directional light, it has infinite range and thus casts shadows everywhere.  If we stretched a shadow map over the entire world, the shadow resolution would simply not be sufficient.  We only want to casts shadows that the [...]

Continue Reading →
07
Oct

Progress Update

It has been a while since I posted any screenshots or updates.  Rest assured, I am working on the engine constantly and have made a lot of progress, but mostly foundation work.  A solid foundation leads to a stable and easily made future.  In a previous company, long long ago, for the first time, I [...]

Continue Reading →
19
Sep

Style Guidelines

Overview I have been seeing a lot of questions lately about style.  Ironically, a lot of people have in the past asked me to make a style guide.  The reason I have refused for so long is because people can’t handle a style different from their own.  It is such a personal subject for some [...]

Continue Reading →
07
Sep

Unity 3D

Yesterday I met the CEO and co-founder of Unity 3D, David Helgason. We have a mutual friend—Brett Seyler, who used to work at Garage Games/InstantAction and made the Torque game engine, but joined the Unity 3D team a few years ago. We talked for quite some time and he had his senior staff give me a [...]

Continue Reading →
14
Aug

3D Performance Tips

Overview This article will cover a lot of tips that can be used to speed up any 3D graphics system.   Bottlenecks To understand why something makes your system faster, it is best to understand what makes it slow.  An accurate table of which have the largest impacts can’t really be made because it depends [...]

Continue Reading →
10
Aug

Multi-Language Support/UTF

Overview Support for complex languages such as Chinese is crucial, and to avoid bugs and to provide the best support possible for exotic languages it is best to support them from the beginning, tempting as it may be to just use ASCII strings to get fast results so you can move on to the juicy [...]

Continue Reading →
09
Aug

[Progress Update] Normal Mapping/Transparency Mapping

In just a short time after getting texture support, support for transparency textures and normal textures has also been added.  Because these subjects are well documented online, tutorials on how to support them will not be provided here.  This is simply a progress update so that anyone following the progress of L. Spiro Engine can [...]

Continue Reading →