Light Propagation Volumes – Emission

So after a long battle with an invisible enemy, I defeated the evil bug, with some awesome help from the forums! ( kudos to bacterious and the gd chat! ):

So below theres a gif that shows a mantis ( thats what theyre called right? ) floating. The mantis emits a color without any lighting hitting it, as seen at the bottom of the grass.

This doesnt seem very difficult, but the problem was that over the few past days I was tyring to figure out a bug, which turned out to be a blending issue. Anyway, the result!


  • I made it look eye candy ( for me atleast ), so the tone mapping is slightly … wrong Posted Image
  • The background changes a bit because of luminance adaptation, because the object is seriously bright, emission is at max.

Posted Image

Until next times fellas!


Yes yes, feed my children, feed! Feed! FEEED!

Posted Image


Better Light Propagation Volumes

In my last entry I described how the interpolation was poor, so I decided to “smoothe” them out. I used the compute shader to “propagate” over the neighbouring cells. This progress was done 10 passes. Below is a comparison between new and old results, the new are much better!

New Versus Old:

Really, after all that time, thats it!?

For a long while I’ve known theres been a problem when testing for shadow visibility with my voxels during my injection of voxel lighting. But as usual I got too lazy and left it. So I got along with the problem, I called it Steve, I created lots of hackish solutions to mimic the “correct” shadow testing.

But after a while I got tired of Steve, so I double checked the light injection pass, and noticed that the light intensity calculation was acting “weirdly”. So, what was the problem? THIS:

... = VoxelGetNormal(nDotL, voxel.maskNormal, -lDirection);

What could possibly be wrong with Steve here? Well it turns out that Steve was a challanged kid:

... = VoxelGetNormal(nDotL, voxel.maskNormal, lDirection); // Woala

More correct output:

Currently I’m testing the shadow maps on the voxel with a PCF filter, but the interpolation is still jagged ( like cubes ), because theyre voxels. So I might look into how to smootly interpolate, I’m just afraid of multi sampling different near by voxels ( Performance ).