API access to Volumetric Rendering

Hi there!
I’m thinking of writing a Grasshopper plugin that uses volumetric rendering for visualization. I know Cycles can do it because Blender (which uses the same render engine) can easily render fog, smoke, fire, and the like. Is this stuff exposed in Rhinocommon in any way? Is there any documentation available? I tried googling around but didn’t find anything. Thanks in advance!

It is not. I wrote for Cycles a C-API and a C# wrapper at GitHub - mcneel/CCSycles: CCycles: a C API for the renderer Cycles. CSycles: a C# wrapper around CCycles. . The actual integration plug-in is at GitHub - mcneel/RhinoCycles: The Cycles integration plug-in for Rhinoceros 3D . The volumetrics etc aren’t wrapped.

This stuff isn’t exposed at all via RhinoCommon, it is pretty much a “black box”. The APIs in these projects aren’t public per se, and can change without prior warning.

2 Likes

I see! Thank you very much for pointing me to these. Just out of curiosity, is support for volumetric stuff on the roadmap at all in some far-far away future?

Possibly, who knows.

1 Like

Some time ago, I experimented with faking it for lights, the way it was faked in Quake 3 Arena. Basically, I hand billboarded transparent .pngs toward the camera. I also experimented with asterisk * shaped imposters.

I think I had a problem with shadows, which were then immutable. Perhaps something could be done in PBRs.

Perhaps a Grasshopper script could be written to billboard particles toward the camera.