It has been a week since the struck of the new year, not that exciting to me really. I’ve been working my HDR (my dynamic bloom) again and tweaked it to look a little nicer, and a lot faster. The problem is that trading 100fps for some lighting effects seems trivial, but just look at the glinting realism of those bright bits. I could have optimized the postprocess quite a lot only if my graphics library supports rendering to multiple RTTs. Anyway, there’s really no easy way out and I’ll see that I get a ring buffer done, hopefully.
It’s my HDR at it’s very best, an afternoon event!
I had some textures re-toned to blend in with the rest and made several new normalmaps for my scene. The cafeteria model is now enhanced with shiny, fancy design, with lots of objects added to it. I have made a dynamic LCD frames per second counter (a basic box) which actually does updates the current rendered frames every second, displaying digits exactly like what you’ll see in a everyday digital watch/clock. It could double as a clock too, displaying your computer time of course! Yes, I’ll do that soon and perhaps I’ll have the outdoor environment updated accordingly as well. Right now, there’s a DirectX bug (most likely my code) that prevents it from updating, and loading a random time-of-day whenever I run my app.
2 dawn/dusk shots. Here’s my new light shader with alpha transparency. Look at the plants. 
This time, my lights are a little more complex, that’s why it’ll have to use Shader Model 3 for more lights support - yep, the culprit being the 2 dot product lights with color matching the outdoor environment hemisphere and ambient, placed at both ends of the map opposite of each other. It’s added to simulate reflection/bounces of light into the nooks and cranny of the scene. Having a single light is just unreal. And speaking of lighting reflections, I had looked into Precomputed Radiance Transfer to address my fake, resource munching (SM3 hardware) lighting plus lack of shadows. Which gives a great cue of depth, greatly improving graphics. Unfortunately, it only allow static objects to be used on, and it’s limited to slow, low frequency lights. Still, there’s no general way to achieve dynamic, visually correct global illumination. Radiosity and PRT is definitely not used in dynamic scenes, and indoors. Perhaps I’ll be using dynamic ambient occlusion…… I know Sm2 line of video cards don’t stand a chance against these rude, number crunching shaders but it’s always a challenge to use 64 lines of instructions, unless I had to do multi-pass.
Featuring my LCD counter! 
Anyway, global illumination (GI) would seriously improve the graphics of any scene. It is just (quite) physics-ally correct, simulating each bounces of light photons onto different surfaces, till your CPU takes infinite time to calculate every sample of it. There’s the added bonus of true soft shadows with all shades of umbra! It’s all too sweet to get it all working realtime. Yes, it possible, since it’s precomputed, and the only person that has to suffer the wait are the developers. Nah, I’ll get some artist to do it, or even make you run the calculation yourself.
Don’t worry, I might not use PRT.
Now this is a good one I forgot to mention. It’s suppost to be blueshift, a natural phenomenal that’s caused by our eyes reacting to low light conditions. Of course, in my game, I’ve never taken laws of physics into consideration. Here’s my camera blueshift in extreme lighting conditions!
Currently, I’m trying to get my pixel motion blur (or true camera motion blur) into my game. All of these, HDR and pixelMB requires sampling 2 frames of my game, the current and the previous. That’s not a problem with my ring buffer.
Lastly, I’d like to say I haven’t posted any updates for quite a long while, so excuse my lengthy story. In fact, this would be my standard in the rest of my posts from now on.
A final night shot, a true starmap. 