Blender homepage link
header graphic
 

Plug-in Library

This page talks a little about the "standard plug-in library" for Purple. This library is simply a deliverable that has been specified in the relevant EU documentation, so it is something that is being developed in the Uni-Verse project.

It is hoped that the library will help create a suitable "climate" for using Purple, since it should provide useful and relevant capabilities.

The table below summarizes the planned content of the library, and also with the current progress on each.

Plug-In Basic Good Excellent Status 
Node creators Create all node types, with name Node-specific parameter support All node-specific parameters supported Implemented at "basic" level 
Sphere Selectable radius
Selectable radius, spans 
Automatic UV-map generation Automatic UV-map generation Implemented at "good" level 
Cube Selectable side length
Selectable side length, spans 
Different side lengths for X,Y,Z axis, automatic UV-map generation  Implemented at "good" level 
Torus Selectable inner and outer radii, spans Automatic UV-map generation Selectable orientation Implemented, at "good" level 
Plane Selectable side length
Selectable side length, spans 
Automatic UV-map generation  Implemented at "good" level 
GetVertex Selectable vertex ID Selectable layer Use selection layer Implemented at "good" level 
GetPixel Selectable (x, y, z)
Selectable (x,y,z), selectable layer combination
 
Use selection layer  Implemented at "basic" level 
Math (+, -, * and /) No polymorphism, geometry and bitmap nodes only Limited polymorphism, support more node types Full polymorphism where possible Works for bitmaps vs bitmap, bitmap vs real, geometry vs real, and geometry vs geometry. This is the "good" level, since users don't need to specify any input types. 
Vector math Basic 3D and 4D vector operations: add, sub, scalar product, cross product, length.
 
Operations on vectors and matrices. Matrix multiplication, inversion, transposing. Vector operations (add, sub, scalar and cross product). Vector vs scalar (add, sub, mul, div). Also vector vs matrix (multiply). 

When the notes in the "Status" column above imply that a plug-in exists, it is usually found in the CVS repository along with the rest of the code.