[Bf-committers] Render Plugin Development

Jonathan Merritt j.merritt at pgrad.unimelb.edu.au
Wed Aug 15 17:37:48 CEST 2007

Campbell Barton wrote:
> Can you give an example of why a C render plugin would need to call a 
> python script?

I'd imagine that one use for this could be procedural generation of 
render output.

Current RenderMan engines allow external programs to generate procedural 
geometry.  Each time the C render plugin is queried for geometry by the 
RenderMan callback, it would execute the Python script.  The script 
would then call functions in the plugin (via an implementation of the 
CGKit interface, for example), to direct it to provide more output to 
the renderer.

I can see this kind of thing being used to provide customized, 
highly-efficient objects which are tightly integrated into both Blender 
and the external renderer.  As a case in point, think of the "nail map" 
from the X-Men movie... the one where the little columns moved up and 
down to produce a map of New York.  Just as an example, an effect like 
that is simple to implement as RenderMan procedural geometry, but would 
take vast amounts of system resources if you created (and animated!) all 
of the geometry in Blender itself.  There are many other examples I can 
think of... custom particle and curve effects, landscape rendering, LOD 
procedurals, etc.

Jonathan Merritt.

More information about the Bf-committers mailing list