Voxel passes output?

Since the voxel render does a pass per light, it might be a nice option to have those passes output to files so we can either composite them together ourselves or in case something happened and we need to debug the lighting, in which case seeing the individual lights would be nice.

  • Chad

Ah, I’m seeing something else…

Since the PCache is valid for both passes, but the voxels initalize so fast, and the shading has to be recalculated anyway, what about letting the user set those per light/pass? So I might have a rim light set a large voxel filter size so that I don’t get harsh edges in my voxels, and set the shading to Phong. The key light, however, will have a small voxel filter so it picks up the fine details, and the shading might be set to Henyey-Greenstein.

  • Chad

How about this…

A modifier (along the lines of the camera modifier) that gets assigned to the light, that contains the “Lighting, Shading and Density” controls. When Krakatoa renders out a pass for a light, it checks for the modifier, and if present, uses those settings. Each light could then be tweaked on it’s own. You could turn off a pass by simply turning off the light, or by stacking a couple of the modifiers on one light and turning them on and off.

I still like the idea of saving the light passes out as separate files, but this would make it even easier to manage the different shading and density tweaks of each light.

  • Chad

Saving out the separate light passes sounds trivial, we could just generate a file name with the light’s name in it and dump to the same location as the regular output. Will have to discuss it internally though.

A Modifier that controls the Voxel shading per pass also does not sound too far out there, but I will have to hear from Darcy first because I am not sure what implications it might have on future voxels development (like multiple scattering / GI etc. which might use a different approach than the current pass per light implementation)