C-sources inventory
Version: $Id: Blender-C-sources.html,v 1.6 2000/12/12 16:25:42 nzc Exp $
User files
Under Unix every user has a couple of blender configuration files in his home directory:
- ~/.B.blend
A blender file that is loaded at startup or whenever 'clear all' (CTRL-x) is executed. The user
can define his presets (default materials / objects / etc.) in this file. This blender file differs in no way
from other blender files. The current scene can be written to ~/.B.blend by executing 'save user
defaults' (CTRL-U).
- ~/.Bfont
The default postscript font which is loaded at startup. This font is used to define 3D-objects,
not for drawing text in the user interface.
- ~/.Bfs
An ASCII file with a list of directories. These directories are added as shortcuts to the file
selector.
- ~/.Blog
Contains the file name of the last written blender file. This name (and path) is used as initial
preset when opening a blender file until the user specifies a new filename by opening or writing a
blender file.
- Sources. server:/home/export/blender/OpenGL/src
The first three files define some default user presets. These presets are used when there are no user-
defined presets.
- B.blend.c
Definition of the default blender file (~/.B.blend) in char datatoc_B_blend[]
- Bfont.c
Definition of the default postscript font (~/.Bfont) in char datatoc_Bfont[]
- Bfs.c
Definition of two default shortcut directories: / and /tmp in char datatoc_Bfs[].
- Button.c
This file contains functions to define and handle buttons. The most important function to
define buttons is DefBut. A button is usually coupled to a memory location where the variable that the
button changes is stored. At definition time variables include the lower and upper limits, the type of
variable (bit / byte / float) and the type of button (slider / toggle / radio).
The buttons are handled by the function DoButtons. This function checks all buttons for pending
events. Whenever a button was activated this function returns the index number of the button.
- anim.c
Unknown. Curves and stuff.
- arithb.c
Defines functions for matrix, quaternion and vector calculations as well as calculations for
distance between point and surface etc.
- arithbn.c
Much like arithb.c.
- beosstuff.c
Unknown.
- blender.c
Some small functions. Initializes some global variables.
- blenderbuttons.c
Contains char datatoc_blenderbuttons[]. I suspect that this is a bitmap with the icons
used by blender.
- bpaint.c
Start of a drawing program in blender� ?
- buttons.c
Contains the layout and definition of the button windows. In matbuts() the material buttons
are being defined. In do_matbuts() these buttons are checked and handled.
- cmap.tga.c
- cmovie.tga.c
Two bitmaps.
- curve.c
Contains functions for handling and calculations on curves and nurbs.
- displist.c
Display lists.
- drawimage.c
Functions to draw a rendered or background image in the 3D background?
- drawimasel.c
File selector that shows thumbnails of image files.
- drawipo.c
Ipo's are curves that show the value of a variable in time (variables like location, color etc.).
- drawmesh.c
- drawobject.c
- drawscene.c
- drawsector.c
- drawseq.c
- drawsound.c
- drawtext.c
- drawview.c
Draw functions for the different type of 3D objects in blender.
- edit.c
Unstructured.
- editcurve.c
- editface.c
- editfont.c
- editika.c
- editimasel.c
- editipo.c
- editkey.c
- editlattice.c
- editmball.c
- editmesh.c
- editobject.c
- editoops.c
- editsca.c
- editseq.c
- editview.c
Edit functions for the different type of 3D objects in blender.
- effect.c For particle effects?
- exotic.c
Import from / export to other 3D file formats.
- fileops.c
Contains functions (rename / remove / touch) for low-level file handling.
- filesel.c Functions for selecting files, and walking
through directory trees. These functions are also used for
selecting parts (individual objects or materials) from other
blender files.
- font.c Converts temporary font format generated in psfont.c
to blender font format. Generates bezier curves from ASCII text
and font definition.
- genfile.c A blender file consists of a memory dump of the
structures used by blender. The blender file also contains the
definition of the structures as they where in use by the blender
that generated the blender file. The definition of these
structures can be different in different blender releases. Blender
is backward (and forward) compatible with other blender
versions. When reading a blender file structures are converted to
the current blender format. To do this blender saves the
definition of the structures in something that is called the DNA
in each blender file. The functions in genfile.c convert the
blender include files to this DNA.
- gltest.c I think this is a small test file.
- headerbuttons.c Draws and handles the buttons in the window
headers.
- ika.c Calculating Inverse KinemAtics.
- image.c Texture calculations on imagewraps.
- imageprocess.c Functions to handle calculations on pixels
and arrays of pixels.
- imasel.c File selector for images. Generates a .Bpib
containing thumbnails in the current directory.
- ipo.c Contains functions for calculations on ipo's. Ipo's
are curves that show the value of a variable in time (variables
like location, color etc.).
- isect.c Intersect. Cuts all faces of a mesh.
- key.c Calculations on vertex keys.
- keyval.c ?
- library.c Functions for including objects / materials /
etc. from other blender files.
- life.c Gameblender.
- makesdna.c Wrapper for genfile.c.
- material.c Calculations on materials.
- mball.c Calculations on metaballs.
- mesh.c Calculations on meshes.
- mywindow.c Wrappers for several glut / gl / X window
functions.
- noise.c Functions for calculating Perlin noise. These are
used for the marble texture and for bump mapping.
- object.c Basic handling of objects. Each object represents
a 3D object in blender. It contains common variables like
location, rotation, hierarchy etc.
- oops.c Functions for the alternative 2D object
representation in the blender user interface (SHIFT F8).
- os_specific.c ?
- packedFile.c ?
- padding.c Test program to print out the sizes of different
structures used in blender.
- playanim.c Reads in a number of images and plays them back
interactively.
- pluginseq.c Example file for creating a sequence plugin.
- plugintex.c Example file for creating a texture plugin.
- property.c ?
- psfont.c Reads in a postscript font and converts it to a
temporary file format. The functions in this file are used in
font.c.
- pthread_cancel.c ?
- py_main.c
The new Python interface by Jan Walter.
- rct.c Calculations on rects (xmin, ymin, xmax, ymax)
- sca.c ?
- readfile.c Read in a blender file and convert it to the
current version.
- scanfill.c Generates faces for any sequence of
polygons. Used for generating faces from curves.
- scene.c Functions for adding, deleting, copying (etc.)
scenes.
- screen.c Window stuff.
- sector.c Gameblender.
- sequence.c Functions to edit movies in the sequence
window. Contains functions to handle sequences of images and
functions to apply effects on images.
- space.c Unknown. Lots of keyboard stuff.
- stringtomovie.c Hack to generate a movie file with a user
definable text. Not currently used.
- text.c Functions to handle and edit (python) text.
- toets.c Handles global keyboard input (F-keys for
instance).
- toolbox.c Draws and handles the toolbox (SPACE).
- usiblender.c main(), functions to initialize global
variables, functions to handle signals, parse command line
arguments.
- view.c Draw 3D user interface view.
- view2d.c 3 small functions to handle 2D user interface
views.
- vpaint.c Functions to handle the vertex painting user
interface.
- winstuff.c Some C library functions for Windows.
- world.c Functions to handle worlds.
- writeavi.c Functions to open / close / insert images in
AVI's.
- writefile.c Dump blender data to file.
- writemovie.c Creates a SGI movie.
Unknown?
These files were moved. Where did they go?
- drawbpaint.c
That drawing program again....
- drawlife.c
- editbpaint.c
- editlife.c
- editsector.c
- editsima.c
- gamedummy.c Contains empty functions to build a blender
without the game engine.
- iconbut.c icon_windows ? Unknown.
- initsector.c Part of the gameblender.
- perftest.c Small float / double performance comparison
program.
- readblender.c Unknown.
- sectormv.c
- writeblendpsx.c Saves a PlayStation blender file.
The radiosity module
These files reside in the /blender/radiosity directory. These files
are use to determine radiosity lighting for Blender scenes.
- raddisplay.c
- radfactors.c
- radio.c
- radnode.c
- radpostprocess.c
- radpreprocess.c
The render module
These files reside in the /blender/render directory. These
contains all rendering functions.
- initrender.c Contains the function animrender(). This
function renders all images between start frame and end frame. All
objects are converted to meshes before being rendered.
- zbuf.c Functions to create the z-buffer used for rendering
images.
- envmap.c Contains functions for calculation, handling,
reading and writing of environment maps.
- previewrender.c Functions used for previews of textures,
etc.
- rendercore.c Calculates the pixels. (previously called
render.c)
- renderfg.c Functions giving visual feedback during
rendering. 'fg' stands for foreground as the opposite of
background rendering.
- shadbuf.c Shadows in blender are implemented by building a
Z-buffer from the world as seen from the lamp. A point on an
object lies in shadow when the Z-buffer shows that there is some
other object closer to the lamp. This file contains functions to
sample and generate shadow buffers.
- texture.c Functions for handling textures and calculations
on textures.
- vanillaRenderPipe.c Code for the new unified renderer
- zbufferdatastruct Functions and definitions for a data
structure that is used as z buffer.
- pixelblending.c
Functions for manipulation of colours, pixels, etc.
- blenderWorldManipulation.c
Do stuff with Blender objects
- edgeRender.c
Edge rendering for the unified renderer.
- gammaCorrectionTables.c
Gamma correction.
- jitter.c
Jitter tables.
- lineRender.c
Some scanline algo's.
- outerRenderLoop.c
The parts parts.
- renderPreAndPost.c
Do some buffer preparation and cleaning.
- windowControl.c
Should become all glut/windowing stuff.