[Bf-committers] Render API Design

Ton Roosendaal ton at blender.org
Sun Jun 3 12:38:18 CEST 2007


Without going into too much detail now:

 > On 3 Jun, 2007, at 1:55, Bobby Parker wrote:
 > When exporting data to renderman, I fetch all the objects in the  
scene first

This is from start already a wrong approach. You should not want to  
fetch objects yourself, but instead ask Blender to prepare renderable  
data in a way that:

1) Is fully Blender-ish (respecting UI, special blender features,  
renderlayers, etc)
2) Presented in a way you can translate

This first requirement is crucial te get right. Remember; we want to  
ensure other renderers support Blender, not the other way around.

Simple picture: if we rip apart the current render module in two  
sections (representing the two requirements above), you are close to  
having a render API.
That is why the current yafray code is interesting to look at.

Also note that for Blender's own render future I like to get bucketing  
work, and ways to create detailed geometry on the fly during rendering,  
and free it. That's why an API based on "Pulling object data" is  
interesting. It can do this by default on several levels;

1- Object Bounding box
2- Minimal geometry-specific data description (i.e. Mesh cage, Nurbs  
3- "Rasterized" small faces/vertices fit for octree/bsp or other  
spatial lookup systems.
4- "Rasterized" small faces/vertices fit for being scan converted and  


Ton Roosendaal  Blender Foundation ton at blender.org  

More information about the Bf-committers mailing list