Blender代码分析汇总
标签:
blenderit |
http://wiki.blender.org/uploads/thumb/e/e9/Eventrecode1.png/480px-Eventrecode1.png
Blender的代码学习可以分成很多的阶段或者层次。
从宏观上来说,Blender的架构,一个操作视觉系的软件肯定离不开mvc的模式。当然这种模式又可以用很多种模式组合而成,包括notify等等。
从数据功能化的方式来观察Blender,那么又有很多的模块,包括内部消息传输的kernel,数据结构的sdna,数据api的srna,接收外部输入的events handle,反馈和显示的window manager等
从3D功能业务模块化的角度来,功能模块就如,mesh,曲线曲面,subdivision,rig,animation,lighting,color manager,动力学(刚体,流体,软体,粒子,毛发),图像合成,nla,scripting等。
从程序语言,和计算机交互的角度,Blender现在使用的c/c++,python,和基于c的oo语言。用到的系统API(IO),图形API(opengl,glsl),计算API(opencl),声音api等,比较底层的编程技术。
从开发管理角度去研究Blender,如软件的开发模式,编译工具,开发工具等等。
通过不同层次不同维度不同业务逻辑去研究Blender最后会发现Blender其实不仅仅是一个源代码开发的东西,其中包含的内容和方法都值得大家去揣摩学习,各个方面都有前人。如果要把所研究的内容汇编成册,也许,是一部非常庞大的,值得深入研究的长卷。也许这个时间会非常漫长。现在没有一个人敢说他完全懂Blender的代码,很正常。Blender融合的CG技术绝对够一个初学者茫然,一个专家汗颜。
讨论会在论坛分别开各类专门的帖子,并链接到这个帖子里面。
Blender代码阅读
Blender的开发组织:
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=1388&extra=page=1
一切从int main()出发的c/c++
Blender代码的层次结构 :
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=276&extra=page=1
blender的MVC机制
Blender的数据结构 main scene listbase Bmesh editmesh derivemesh
ghost--blender中的窗口管理基石
UI--Blender开发的灵魂
sDNA sRNA Blender的数据库和数据库API
rna:http://bbs.blendercn.org/forum.php?mod=viewthread&tid=1547&extra=page=1
wmmanger wmOperatortype
http://www.nicksbest.com/blenderarchitectrue/ba_event_and_operator.html
wmOperator invoke call exec cancel
http://www.nicksbest.com/blenderarchitectrue/ba_operator.html
editor-operator的超集
pyObject分析
cycles and lux render render() GPUGI :
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=233&extra=page=1
从宏观上来说,Blender的架构,一个操作视觉系的软件肯定离不开mvc的模式。当然这种模式又可以用很多种模式组合而成,包括notify等等。
从数据功能化的方式来观察Blender,那么又有很多的模块,包括内部消息传输的kernel,数据结构的sdna,数据api的srna,接收外部输入的events handle,反馈和显示的window manager等
从3D功能业务模块化的角度来,功能模块就如,mesh,曲线曲面,subdivision,rig,animation,lighting,color manager,动力学(刚体,流体,软体,粒子,毛发),图像合成,nla,scripting等。
从程序语言,和计算机交互的角度,Blender现在使用的c/c++,python,和基于c的oo语言。用到的系统API(IO),图形API(opengl,glsl),计算API(opencl),声音api等,比较底层的编程技术。
从开发管理角度去研究Blender,如软件的开发模式,编译工具,开发工具等等。
通过不同层次不同维度不同业务逻辑去研究Blender最后会发现Blender其实不仅仅是一个源代码开发的东西,其中包含的内容和方法都值得大家去揣摩学习,各个方面都有前人。如果要把所研究的内容汇编成册,也许,是一部非常庞大的,值得深入研究的长卷。也许这个时间会非常漫长。现在没有一个人敢说他完全懂Blender的代码,很正常。Blender融合的CG技术绝对够一个初学者茫然,一个专家汗颜。
讨论会在论坛分别开各类专门的帖子,并链接到这个帖子里面。
Blender代码阅读
Blender的开发组织:
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=1388&extra=page=1
一切从int main()出发的c/c++
Blender代码的层次结构 :
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=276&extra=page=1
blender的MVC机制
Blender的数据结构 main scene listbase Bmesh editmesh derivemesh
ghost--blender中的窗口管理基石
UI--Blender开发的灵魂
sDNA sRNA Blender的数据库和数据库API
rna:http://bbs.blendercn.org/forum.php?mod=viewthread&tid=1547&extra=page=1
wmmanger wmOperatortype
http://www.nicksbest.com/blenderarchitectrue/ba_event_and_operator.html
wmOperator invoke call exec cancel
http://www.nicksbest.com/blenderarchitectrue/ba_operator.html
editor-operator的超集
pyObject分析
cycles and lux render render() GPUGI :
http://bbs.blendercn.org/forum.php?mod=viewthread&tid=233&extra=page=1
后一篇:Blender

加载中…