Tuesday, August 20, 2013

Base Metal Blog - August 20, 2013

So, since I had to do an airport run today, transport family members to classes and make supper, I'm running a little late today.  Actually, I'm surprised I got any work done at all.

Since the previous post:
  • Skybox rendering is working.
  • I decided that a specific light probe component was not exactly what I needed.  Because the camera component can render to a texture, it made more sense for the camera to detect when the render target was a cube map and render all six faces itself.
  • The Build tool was getting log output out of order (for example, when the asset compiler called the shader compiler via a system call) - fflush(stdout) in the asset compiler before calling system() seems to fix that.
  • Reworked the way cameras gather / sort game object.  Each game object can has a 32-bit mask of layers it belongs to, and each camera can specify which layers it renders to.  These were somewhat hard-coded previously, but because I'm using my Very Awesome Attribute File Format to store everything, it was pretty easy to make this data-driven.
  • Added a simple Render Sphere component.  Then realized I needed a good way to bind arbitrary shader constants so I can use any effect on the sphere, so built a system to specify any number of textures or shader constants in the attribute file and set them when the sphere is rendered.
So, rendering the light probes is almost working - they are currently flickering, which is really odd, and I think I might have some of the axes the wrong way around.  Once that is working, I will basically have a reflection map, and I want to try to build a diffuse map using Real-Time Computation of Dynamic Irradiance Environment Maps

Before I do that, I may switch back to working on some of the AI components, considering that I need to make an actual game at some point.  I had a really nifty swarming enemy type working, but I need it to actually shoot something a the player.


Seen on Twitter:
Creative process: 1) This is going to be awesome 2) This is hard 3) This is terrible 4) I'm terrible 5) Hey, not bad 6) That was awesome

No comments:

Post a Comment