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!

Notice:

  • 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!

EDIT:

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 ).