[Bf-funboard] general remarks on plugins

Ton Roosendaal bf-funboard@blender.org
Sun, 6 Jul 2003 23:22:18 +0200


In the past, with sequence and texture plugins, we've had only  
troubles. Mainly because many people just don't know how to code  
well... and they sent us (me!) the code claiming that Blender was  
wrong. Especially when porting from one OS to another the problems came  
up. Coding cross platform is not something many people know.

For reasons of stability, and especially cross-platform ability, I  
hoped we could replace (the need for) plugins with Python. For several  
purposes this has already worked out well, and the Python team  
currently is working hard on getting that a lot better, easy access  
with pulldown menus etc.

Blender was also not designed as a plugin system, as for example 3DS  
is. You devise an internal architecture for it... which Blender doesn't  
have. "Make Blender pluggable" is something we're far away from.

Whether or not that's desired for a blender3 is not an issue now. I  
won't reject the idea of adding a plugin to the Effect system in  
Blender, but still would advise to check whether Python isn't a better  
system to use.

The Python speed issue can be solved:
- making a good builtin API with common calls (math, pixel operations,  
- if not possible, linking python itself with a C/C++ compiled library.
- think different, speed is not important! Make stuff that works for  
users. Optimizing is always easier to do in the very very last stage.

With the python team we already discussed concepts for having Python as  
a sort-of Renderman shader as well, or for rendering texturemaps on the  
fly (pixel shaders). In that sense, Python is currently the 'plug-in  
api' of Blender.


Ton Roosendaal  Blender Foundation ton@blender.org