The Object Oriented SystemBlender has a strictly object-oriented structure. Every aspect of the 3D world has been organized in small data blocks. By linking these together, making copies and editing or re-using them, you can build complex environments with a minimum of memory usage.
The main data blocksScene
This is the 'canvas' of the 3D world. It contains the specific rendering information (camera, image resolution) and the links to Objects. Different Scenes can use the same Objects. Scenes can also be linked together to function as a (film) set.
This block contains sky, stars, exposure, and other environment variables.
The basic 3D information block. This contains a position, rotation, size and transformation matrices. It can be linked to other Objects for hierarchies or deformation. Objects can be 'empty' (just an axis) or have a link to ObData, the actual 3D information: Mesh, Curve, Lattice, Lamp, etc.
Objects can be linked to animation curves (Ipo) and Materials as well.
This is the triangles and quads mesh data. It contains vertices, faces, and normals. It can have a keyframe block for morphing. It can be linked to Materials.
Data to be used as Text, Bezier or BSplines and 3D Nurbs Surfaces. It also has a keyframe structure and can be linked to Materials.
This data block contains visual properties such as colours, reflectivity and transparency. It can be linked to eight different Texture blocks.
Use images, procedural formulas or plugins to define textures. Can be linked to Material, Lamp and World blocks.
Data to be used for light information, as colours and shadow settings. Can be linked to Texture blocks as well.
This is the main animation curve system. Ipo blocks can be used by Objects (for movement), but also by Materials for animated colours.