Archive for September, 2010

Darksiders on Steam / Darksiders PC

September 26th, 2010 No comments

Opened up Steam today and was greeted by Darksiders PC 😀

So yeah guess it’s official… Darksiders has been released on the PC as well now. Looks like many gamers are happily playing Darksiders @ 1080p enjoying great frame rate. As always, it’s a great feeling seeing the product of your hard work being enjoyed by fans

Sphere Seamless Textures

September 24th, 2010 No comments

Was having some trouble mapping a sphere and came across this link. Of interest was a post summarized below. I gave it a try and it seems to work really well and is apparently supported by free paint programs like GIMP, etc as well Adobe Photoshop:

Read more…

Categories: Programming, Projects Tags:

Skydomes and Deferred Rendering

September 20th, 2010 No comments

This weekend I started messing around with SkyDomes. They are fairly easy to add to a forward renderer as one would imagine. All you have to do is disable writing to the z-buffer (ZwriteEnable = false), render it first, and center the sky at the viewer position (Camera eye). Cake!

However, the deferred renderer is a slightly different story. You can try doing these exact same steps however, your sky will end up being dynamic lit since everything is lit uniformly. Since I was already sending over a specular intensity setting per object, for skydomes I just set this to 0 and disable lighting that way. Perhaps when I get time, I’ll look into using the stencil buffer instead but this method seems to work just fine for my purposes

Update Your Links!

September 19th, 2010 No comments

You can now arrive at this site via (the old site is now deprecated The old url was a lot of typing. I’m just ashamed I waited this long to do this…..

Categories: General Tags:

Sun Shadowmap Atlas

September 12th, 2010 2 comments

So I implemented an atlas to place my shadowmaps into recently. So now, all 4 shadowmaps are rendered into one texture during the shadowmap creation phase. My primary motivation for doing this is that I figured it would make the perfect companion for the engine’s Variance Shadow Map implementation whereas I can blur + apply filtering to my shadowmaps directly. However, since I had anywhere from 3-4 shadowmaps for directional lighting alone, I was paying a penalty for making all those full screen passes. Now instead, I just have to make one blur pass on the final shadow map.

Below is a pic of the atlas (this is one shadowmap that consists of 4 different quadrants):

The cool part is that I figured out how to get this to work in shader model 2.0 so this can run on older cards without branching. If you are really interested in this technique I recommend taking a look at this blog here whereas they also rendered 4 shadow maps to a texture. My approach was different in how I figure out which quadrant to grab my shadowmap from but their approach looks plausible as well. Here is a link to another interesting blog whereas this solution has a nice low instruction slot count and the author actually renders his shadowmaps into the color channels which is pretty interesting.

In any case, it was really fast to add on a Shadow map Atlas to the GODZ Tech demo. I can honestly say it probably only took bout a couple hours or so. And this was the first time I looked into creating an atlas manually. So if you’re thinking about giving this a shot take heart that it’s not terribly difficult to integrate. The only downside I can think of is the additional instructions that you may have to addon to your shader to compute the texture coordinates to sample the quadrants.

The Trouble With Quaternions

September 6th, 2010 No comments

So earlier this week I decided to write up a Quaternion Camera that allows full movement along Yaw / Pitch. After all, I’ve used Quats to great success on animation systems. Anyway after I coded up the camera, I quickly I discovered that if I applied rotation on one axis I was fine (for instance, simply rotated my Camera along Y-Axis). However, if I moved along both Yaw & Pitch then the resulting Quaternion concatenation would incur Roll and lead to undesired effects.

Read more…

Categories: Programming Tags: