From BlenderWiki
[edit] Blender Creator (3D Editor)
[edit] Finding the path
Most of the source code you'll need will be found in the following path:
c:/bf-blender/blender/source/blender/
You may also need to look at platform specific code. This will be found at
c:/bf-blender/lib/platform for example, windows code would be c:/bf-blender/lib/windows
Finally, after you compile, you need to find your binaries:
c:/bf-blender/blender/obj/platform/bin
Just replace platform with your os, such as windows
The source code is contained in the various directories that you find here. Generally, the code is sorted by what it does. Inside each of these directories, you will usually find all the header files for those functions, as well as a directory named intern which holds the actual source files.
[edit] Common Directories
These are the directories you are most likely to deal with:
- blenkernel - everything dealing with the program's structure
- blenlib - support libraries (such as math, data structures, etc.)
- src - interface, drawing and editing code
- include - header files for the source files in src
- makesdna - any datatypes that are saved to file must be declared here
[edit] Directories for specific functions
These directories you may never look at, unless you are working on a specific function
- avi - lets blender deal with external video codecs
- blenloader - read and write .blend files
- blenpluginapi - provisions for using external plugins
- ftfont - freetype font support
- imbuf - image operations and read and write for external graphic formats
- img - texture painting module
- python - python integration into blender
- quicktime - support for quicktime (Windows and OSX only)
- radiosity - radiosity for blender
- readblenfile - .blend file reading utilities
- render - the blender internal renderer, and some external renderer code
- verify - DEPRECIATED
- yafray - yafray integration / exporter plugin
[edit] Examining File Functions
You can get a rough idea of what type of functionallity a file has by looking at the name of it's header file. Most header file names have a prefix.
- AVI - avi module
- BKE - blenkernel module
- BLI - blenlib module
- BLO - blenloader module
- BIF, BDR, BSE - src module
- DNA - makesdna module
- BPY - python module
There may be other prefixes, but they should be self-explanitory, based on where you find them.
Redirects to fix
- Game Blender → Hackers Guide/Game Blender
- Hackers Guide/Debugging → Dev:Doc/Hackers Guide/Debugging







![[]](/skins/blender/open.png)
