From BlenderWiki

Jump to: navigation, search

[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