Does SR have anything that would allow us to generate a “shadow pass” based on the matte objects or images, the light/camera positions, and the attentuation maps? We’re trying to avoid having to add our own additional renderer just to use the attenuation maps.
Krakatoa does not expose the shadow map pass to the user. Is is a possibility though.
To do so, we would need to add an extra filename attribute to the lights that would save out the shadows generated from the rendered meshes (unioned with any inputted shadow maps).
When you say these exported shadow maps would include the “attenuation maps”, do you mean you want the shadow map to include the attenuation computed from the scene particles? This attenuation is already available to be saved out, however it does not include the attenuation from matte meshes. Am I along the right track with what you were thinking?
Ah, OK. I read http://forums.thinkboxsoftware.com/viewtopic.php?f=115&t=6979&start=20#p33176 and thought that you meant that you could write deep opacity shadows, not just read them.
Yeah, shadows are pretty important, generally speaking. As-is, no SR implementation is able to cast shadows on non-SR rendered images, correct? Or is there some other technique? We were thinking as a hack of maybe generating an ultra-dense particle “surface” from a z-buffer image or from meshes, but since we can neither make a particle stream “not visible to camera” nor can we save out the attenuation maps for re-projection, we’re kinda screwed.
Hmmm, maybe we’re not talking the same thing… I want the deep opacity attenuation maps from the particle renders. I want to then use them to render out a shadow pass against the matte object (or matte depth map). I don’t think I need the attenuation from the matte meshes, as I should be able to generate those very easily from the other renderers.
Ah, I think I understand what you mean. We do support exporting deep attenuation maps. It uses the same “layered EXR” format that is used in Krakatoa MX. If you’re familiar with that format and can use it, then you’ll be in business.
You can export deep attenuation from each light by adding the “AttenuationMapSavePath” property to the light definition. For example:
ri.LightSource( directlight, "myLight", "AttenuationMapSavePath", "attenuation_output_image.exr" )
If you’re familar with the Krakatoa MX way, it is equivalent to exporting shadows using this: thinkboxsoftware.com/krak-sh … orer-util/
And importing those resulting shadows using this: thinkboxsoftware.com/krak-shadows-generator/
Is this the functionality you were looking to use? Or is something different needed?
That’s what we want, I just wanted to know if there was something in SR already that would do the rendering of the matte objects with the shadows. That way we could spit out a pass of the shadows cast onto the matte objects very easily.
Ah, yes. Krakatoa SR does not expose the z-depth renders for the mesh geometry.
In KMX we have the “KrakatoaMatteZDepth” render element. That element produces a z-depth render for the mesh geometry from the camera’s perspective (not available in KSR, but easily added). However we do not have a setting that will produce z-depth renders from the light’s perspective.
We could potentially add an option to save the z-depth of the geometry from the light’s perspective. Would that work for you?
Not sure if it would or not. It would be interesting, that’s for sure, but I don’t know if it would solve the problem. We’ll try out the attenuation map saving and loading and use our “particle surface” idea to see how far that gets us.
Oh, and PRT Surface would be cool to have in SR.