「利用者・トーク:Animaguy」の版間の差分
(→Blender 2.69 source code directories explained) |
細 (1版 をインポートしました) |
(相違点なし)
|
2018年6月29日 (金) 05:54時点における最新版
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