[Bf-committers] Renderman

Robert Wenzlaff (AB8TD) rwenzlaff at soylent-green.com
Fri Nov 4 03:04:20 CET 2005

On Thursday 03 November 2005 17:49, Paul Volpato wrote:
> I'd love to work on this project (in a coding capacity).  I  
> don't have extensive experience in Renderman, but I've read the  
> specs, I have some code, for python exports, but this would involve  
> integrating it into the C part of blender yes?  (like yafray)
> And if someone has fleshed the API (in anyway) then we could get  
> things rolling on this fairly quickly.

While Renderman is general enough to probably qualify for direct inclusion 
into the code base, what would be better IMHO, is an intermediary library 
that takes a standard output from Blender and can convert to whatever 
renderer you like (one per lib), thus making external renderers a "plug-in".

BlendSceneData->IntermedOut ->Lib4RendererDeJour->RendererDeJour
|----Blender Internal Code-------|      |---- External Code ----|

Want a new Renderer?  Now you just need to compile a .so or .dll for it.

Since may renderers accept RenderMan, maybe using Renderman as a guide to 
making this "standard output" would be a good place to start.  Thus the 
LibExportRendermanPlain.so would basically be a pass-thru (maybe just 
correcting for particular packages' dialects).

It would allow other options, too.  Instead of trying to translate a Blender 
material into a shader, you could have the shaders in a separate file and 
have the translator lib do a substitution along the lines of:

if (HaveShaderWithSameNameInFile) {
	BlenderMaterial2Shader();  // As best we can . . . .
As Socrates once said:
               "I drank what?????"
Robert Wenzlaff        rwenzlaff at soylent-green.com       

More information about the Bf-committers mailing list