此文档说明的是Blender 源代码中各个目录的作用。
目录 / 文件 |
作用 |
blender/ |
主目录 |
blender/build_files/ |
编译源代码时需要的文件 |
blender/build_files/cmake/ |
CMake构建系统的模块。 |
blender/build_files/make/dlltool/ |
mingw 使用的工具,用来创建适当的imp 库 |
blender/doc/ |
文档生成(doxygen)、许可证、手册页和文件格式信息。 |
blender/extern/ |
我们专门 为blender 配置、使用源代码编译出来的外部库(bullet 、 glew ...) |
blender/intern/ |
内部库: 这些库是 blender 的一部分,但是相对比较独立 (烟雾 、 删除 ( decimation )、 ik计算器 ( iksolver ) 、 itasc...),并且 可变(fluid) |
blender/po/ |
翻译文件 |
blender/release/ |
用于发布的其它文件(python脚本 、图标、平台相关的安装器 ) |
blender/release/bin/ |
包含.blender目录、字体和其它文件。 这些文件会直接复制到安装目录 中。 |
blender/release/scripts |
将被放置到Blender的安装目录中去的Python脚本 |
blender/release/plugins |
将被放置到Blender 的安装目录中去的插件 |
blender/source/ |
主要的源代码目录 |
blender/source/blender/ |
主要的源代码树 |
blender/source/blender/avi/ |
AVI载入和输出代码(AVI原始数据和AVI jpeg,不是ffmpeg) |
blender/source/blender/blenfont/ |
Blender内部字体系统 |
blender/source/blender/blenkernel/ |
核心函数(数据结构处理、内存分配、内存翻译。 不含工具和用户界面代码,非常低层);核心函数是与 blenderplayer 共享 的,用来载入数据 |
blender/source/blender/blenlib/ |
内部附加库:数学函数、列表、随机数、噪音 、内存池 、文件操作( 与平台无关 ) |
blender/source/blender/blenloader/ |
Blend文件载入和输出,以及内存中的撤销文件系统 |
blender/source/blender/blenpluginapi/ |
纹理和序列插件接口 |
blender/source/blender/collada/ |
在blender 和外部collada 库之间交换 的Collada接口 |
blender/source/blender/editors/ |
图形编辑代码、工具、用户界面 ... (妳最想找的可能就是这里的代码了) |
blender/source/blender/editors/interface/ |
部件的绘制代码(不要轻易地进入 这一块,除非妳准备 花几个小时来绕圈圈) |
blender/source/blender/editors/space_*/ |
这些目录 ,包含的是各种窗口类型 的实现 和 绘制代码 |
blender/source/blender/editors/.../ |
这些目录包含的是工具的代码,例如 网孔(mesh)工具、动画工具,等等 |
blender/source/blender/gpu/ |
GLSL着色器(shaders)、缓冲区和其它 与显卡相关的函数 |
blender/source/blender/ikplugin/ |
IK插件接口(用来与itasc 交互) |
blender/source/blender/imbuf/ |
图片缓存接口和函数(载入、输出和处理不同的图片格式);seq自带缓存,但是载入过程仍然 是由imbuf 实现 的;imbuf还包含了载入纹理 并转换 成openGL 格式 的代码,以及其它东西 |
blender/source/blender/makesdna/ |
DNA结构体的定义:所有会保存到文件 中去的数据结构都在这里 |
blender/source/blender/makesrna/ |
RNA定义和函数。 在 DNA 的基础之上提供 一个底层的数据访问和定义接口 |
blender/source/blender/modifiers/ |
网孔(Mesh)修改器 |
blender/source/blender/nodes/ |
节点代码:CMP = 组合, SHD: 素材, TEX: 纹理 |
blender/source/blender/python/ |
Python接口 |
blender/source/blender/python/generic/ |
Python接口通用函数(字体、opengl、噪音 ...) |
blender/source/blender/python/intern/ |
此接口的精华(meat)(bpy模块 、封装的操作器和 rna)位于./intern中 |
blender/source/blender/python/mathutils/ |
Python接口的三维数学模块(访问欧拉(Euler)、向量(Vector)、矩阵(Matrix)、四元组(Quaternion)和颜色(Color)类型) |
blender/source/blender/readblenfile/ |
底层文件读取工具(版本号、某些标志...) |
blender/source/blender/render/ |
渲染引擎 |
blender/source/blender/windowmanager/ |
Blender的内部窗口管理器、事件系统、操作器 、多线程... |
blender/source/blenderplayer/ |
供blenderplayer 链接的根(Stubs)。 都是一些错误的调用,总有一天会被完全解决的;) |
blender/source/creator/ |
自从有源代码以来就存在的目录,包含Blender 的主函数("main" function) |
blender/source/gameengine/ |
Blender的内部游戏引擎的源代码 |
blender/source/kernel/ |
GE文件(不确定这些文件是否还有用,不重要) |
blender/source/tools/ |
MakeCursor.py,一个用来 将鼠标指针转换成C 代码 的工具。其它 的一些老工具。 |
blender/CMakeLists.txt |
CMake构建系统配置文件 |
blender/GNUMakefile |
使用make文件为CMake 构建系统做的便利性的封装,旨在快速设置 好CMake 构建系统。 |
•.2009-06-12
感谢theeth (Martin Poirier),在第一 次NewDev 会议 (2009-06-12) 上耐心 地解释了每个目录 的用途。
•.2010-07-25
部分更新,解释一级目录(目前还没有深入解释其它 子目录)
•.清理及校正 --JesterKing 09:50, November 2010年 11月 23 日 (UTC)
小美女
請問你們高潮的時候是喊「唉呀!我要蹦出来了!」嗎???大井20、余臻20、善22.学生。台北
HxLauncher: Launch Android applications by voice commands