mrWolf Posted December 23, 2014 Share Posted December 23, 2014 (edited) I am using a vex volume procedural shader, connected to a new cvex operator to generate a volume starting from points at render time. In the cvex op, I use pcopen to open a point cloud, then I process those points and export "density" and "Cd". Everything works great (even if the render time is insane ..). Now I'd like to export additional image planes. For instance I added an "export float nage ..." (normalized age of the points) and added a new float image plane to the Mantra rop, but the render of that image plane always comes out black. I tried to set nage = 1 by default to make sure it really doesn't work. My questions are: 1 - I noticed that I can successfully export "density" and "Cd" from the cvex operator to the vex volume procedural. Are there additional Mantra parameters vex volume procedural accepts from the cvex op ? 2 - what is the proper way to render new image planes using the previous setup ? For instance exporting Ce connected to a remapped density to simulate heat. Please let me know if the question is not clear enough and I'll setup a small hip file to illustrate the issue. Edited December 23, 2014 by mrWolf Quote Link to comment Share on other sites More sharing options...
fathom Posted December 24, 2014 Share Posted December 24, 2014 i think the issue you're bumping into is that the cvex shader is generating what is, essentially, geometric data. it's not up geometric data to push itself into mantra image planes. that is a task for a surface shader. your surface shader must export whatever parms you want to end up in your image planes. so the solution here is to add "nage" to your surface shader as a parm and set it to always export (not sure you need to set to export, but it won't hurt). your surface shader will then bind to the data coming out of the vex shader and push it along to mantra. Cd and density worked not because the cvex shader exported to the procedural, but because the surface shader you have on your object defined them as parameters. Quote Link to comment Share on other sites More sharing options...
mrWolf Posted December 24, 2014 Author Share Posted December 24, 2014 Amazing !It works great, thank you for the clarification Fathom !Now I understand why exporting Ce was not just lighting my smoke ! I didn't have any surface shader assigned to the geometry. I only had a geometry shader.I created a Mantra shader builder, dropped a Volume Model and connected density to density, Cd to Smoke Clr and Emit Clr.In the cvex shader I calculated and exported nage using the particle age.I created a nage parameter in the surface shader as well (set it to export) and used it to modulate the density and fed the result into Emit Int, plus I exported it as a separate image plane.I rendered a simple test to show you the result. In you opinion what is the most effective way to use the bright core of the smoke to illuminate the surrounding environment ? In this example i'm using the following parameters: - pbr render - one directional light - clay shader assigned to the ground - volume geometry procedural + surface shader to generate the smoke starting from a point cloud. Quote Link to comment Share on other sites More sharing options...
fathom Posted December 25, 2014 Share Posted December 25, 2014 you could generate a low-rez proxy object of the bright area in sops and then use that for a geometry light, perhaps. maybe even generate it as a volume. for life of pi, i wrote a point cloud light shader for the biolouminescent whale. in h13, they added a point cloud light shader as an option for volume geometry lights. you might be able to plug into theirs and get something working. Quote Link to comment Share on other sites More sharing options...
mrWolf Posted December 25, 2014 Author Share Posted December 25, 2014 you could generate a low-rez proxy object of the bright area in sops and then use that for a geometry light, perhaps. maybe even generate it as a volume. for life of pi, i wrote a point cloud light shader for the biolouminescent whale. in h13, they added a point cloud light shader as an option for volume geometry lights. you might be able to plug into theirs and get something working. Thank you for your reply Fathom, I'd like to stay away from the low res proxy object since all the geometry (volume) is generated at render time by the volume procedural. The new h13 point cloud light shader solution that you mention is very interesting ! I've never written a light shader. Can you point me to the h13 new point cloud shader function or any light shader example ? I've searched a bit in the help and I couldn't find any example. Quote Link to comment Share on other sites More sharing options...
fathom Posted December 27, 2014 Share Posted December 27, 2014 the proxy would not be for direct rendering. it would be geometry solely to act as a geometry light source. but if you've got a pc already, i'm thinking you can just create a volume light and then massage your pc to fit the data that the volume light is expecting. try generating a pc using the volume light shelf tool and mimic it's contents with your own pc. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.