利用者・トーク:Animaguy

提供: wiki
移動先: 案内検索

Blender 2.69 source code directories explained

This page lists the directories in Blender's code and their use.

Splash Screen Date: 2013-12-04 23:34 Hash: 8003f06

See notes below.

DIRECTORY / FILE USE


DIRECTORY / FILE USE
LEVEL 1
blender/build_files/ Files needed when building the source
blender/build_files/ Files needed when building the source
blender/doc/ Document generation (doxygen and sphinx), licenses, man page and file format info.
blender/extern/ External libraries that we build from source and configure specially for blender (bullet, glew, ...)
blender/intern/ Internal libraries: libraries that part of blender but kept slightly separate (smoke, decimation, iksolver, itasc, ...) and fluid
blender/release/ Additional data that is used for release (python scripts, icons, platform specific installers, ...)
blender/scons Files needed when building the source with Scons
blender/source/ Main source code directory


DIRECTORY / FILE USE
LEVEL 2


DIRECTORY / FILE USE
LEVEL 2
blender/build_files/build_environment
blender/build_files/buildbot
blender/build_files/cmake
blender/build_files/package_spec
blender/build_files/scons

bookmark

blender/build_files/build_environment/
blender/build_files/buildbot/
blender/build_files/cmake/ CMake build-system modules.
blender/build_files/package_spec/
blender/build_files/scons/config/ Scons platform configuration files
blender/build_files/scons/tools/ Scons internal tools
blender/release/bin/ Contains the .blender folder, with fonts and such files. These are copied in place the installation dir.
blender/release/scripts Python scripts that will be placed in Blender's installation directories
blender/release/plugins Plugins that will be placed in Blender's installation directories
blender/scons/ SCons build system, included with blender for convenience.
blender/source/blender/ Main source tree
blender/source/blender/avi/ AVI loading and writing code (AVI raw, AVI jpeg and windows codec, not ffmpeg)
blender/source/blender/blenfont/ Blender's internal font system
blender/source/blender/blenkernel/ Kernel functions (data structure manipulation, allocation, free. No tools or UI stuff, very low level); kernel functions are shared with the blenderplayer, for loading data
blender/source/blender/blenlib/ Internal misc libraries: math functions, lists, random, noise, memory pools, file operations (platform agnostic)
blender/source/blender/blenloader/ Blend file loading and writing as well as in memory undo file system
blender/source/blender/blenpluginapi/ Texture and sequence plugin api
blender/source/blender/collada/ Collada interface between blender and the external collada library
blender/source/blender/editors/ Graphical editor code, tools, UI ... (most of the interesting code is in there)
blender/source/blender/editors/interface/ Is the widget drawing code (don't look here unless you're ready to spend hours going in circles)
blender/source/blender/editors/space_*/ These folders are for the window types and contains drawing code for their particular window type
blender/source/blender/editors/.../ These folders contain tool code, like mesh tools, animation tools, etc.
blender/source/blender/gpu/ GLSL shaders, buffers and other gpu related functions
blender/source/blender/ikplugin/ IK plugin api (used to interface with itasc)
blender/source/blender/imbuf/ Image buffer API and functions (loading, writing and manipulating different image formats); seq just has it's own buffer structure, but the loading is still done by imbuf; imbuf also has code for loading textures into openGL for display and all that
blender/source/blender/makesdna/ DNA structures definition: All data structures that are saved into files are here
blender/source/blender/makesrna/ RNA definitions and functions. Sits on top of DNA to provide a low level data access and definition API
blender/source/blender/modifiers/ Mesh modifiers
blender/source/blender/nodes/ Nodes code: CMP = composite, SHD: material, TEX: texture
blender/source/blender/python/ Python API
blender/source/blender/python/generic/ The Python API generic functions (font, opengl, noise ...)
blender/source/blender/python/intern/ The meat of the api (bpy module, wraps operators and rna) is in ./intern
blender/source/blender/python/mathutils/ The Python API 3D math module (access to Euler, Vector, Matrix, Quaternion, Color types)
blender/source/blender/quicktime/ Quicktime integration code (windows and OS X only)
blender/source/blender/readblenfile/ Low level file reading utility (version number, some flags, ...)
blender/source/blender/render/ The render engine
blender/source/blender/windowmanager/ Blender's internal window manager, event system, operators, thread jobs, ...
blender/source/blenderplayer/ Stubs for blenderplayer linking. Bad level calls that one day should all be fixed ;)
blender/source/creator/ One since source file, contains the "main" function of Blender
blender/source/darwin/ OS X packages
blender/source/gameengine/ Blender's internal game engine sources
blender/source/icons/ Windows icons
blender/source/kernel/ GE files (not sure these are still used, not important)
blender/source/tools/ MakeCursor.py, tool to create C-code from a mouse cursor. Several other old tools.
blender/CMakeLists.txt CMake build-system file
blender/GNUMakefile make file convenience wrapper for the CMake buildsystem, to quickly setup CMake builds.
blender/SConstruct SCons build-system file
blender/user-config.py SCons user configurations file

Notes

http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Linux/Ubuntu/CMake

sudo apt-get update; sudo apt-get install git build-essential

git, build-essential, libxi-dev, libsndfile1-dev, libopenexr-dev, libopenjpeg-dev, libpng12-dev, libjpeg-dev libopenal-dev, libalut-dev, python3.3-dev, libglu1-mesa-dev, libsdl-dev, libfreetype6-dev, libtiff4-dev, libavdevice-dev, libavformat-dev, libavutil-dev, libavcodec-dev, libswscale-dev, libx264-dev, libxvidcore4-dev, libmp3lame-dev, libspnav-dev, python-3.3

mkdir ~/blender-git

cd ~/blender-git

git clone http://git.blender.org/blender.git

cd blender

git submodule update --init --recursive

git submodule foreach git checkout master

git submodule foreach git pull --rebase origin master

git pull --rebase

git submodule foreach git pull --rebase origin master

cd ~/blender-git

./blender/build_files/build_environment/install_deps.sh