BlenderDev_CN我们业余,我们一样走得更远
本来是想写在论坛上的,刚写了一点发现想要表达的没有很到的组织,或者说总想写全面但是又怕贻笑大方,一句话---水平不够。所以先安在这里,等顺利把知识点全部填补了,再放论坛上不迟。
今天买菜想到的一些读代码该需要了解的常识。
也许很多专业人士已经领悟到这些方面了,所以我想的这些就是和同我一样只翻过c语言教材前几章的朋友交流下看法,或者说跟象我一样想把学习Blender代码作为程序学习的起点的朋友共勉。
Blender在我看来更象是一个可视化的数据库。我们的一切操作就是在对数据库中的东西进行查询修改然后保存。这个数据库是用c语言来写成的,所以Blender利用了这个语言的优点:预定义和指针。预定义的例子就象那个globe变量,定义g.flag的值。指针的问题更在Blender当中常见,随便一处都是函数指针,结构体也是随处可见,不过一般的教科书上却对这些讲解很少。c语言写的很小的数据库范例,我们也不常见,但是如果找得到那么最好看看。操作系统上的那些技术是Blender当中经常会遇到的。这个作为业余来说也许难了点,我上网搜索的时候,也看到一些甚至是大学毕业的人在感叹他们对函数指针这类不太熟悉,而要在操作系统之类的项目里面常用这些东西。也许你会窃喜--哈哈,这些都是我的拿手好戏。恩,这些对你不是问题,那么说明你在某一方面比这些科班出生的人强一点,但是其他的呢,算法设计,数据结构,数值分析的应用这些呢?你说你也会?好,你是专家了,应该领悟得比我更深刻。我们大家都要向你请教,需要你这样的人为我们带路,不要让我们这群有激情参观blender代码的人耗巨量的功夫却没多大收获。什么?对blender不感兴趣,那你看这个干嘛:)
Blender的代码能给我带来什么,这也是我一直在思考的问题。代码是人写的,人的水平决定着软件的生死,现在在开源领域还没有类似的软件可以跟blender叫板,(当然不排除max突然开源的情况)。既然能够把代码放在公共域里面随便你参观,那么写代码的人还是应该在这上面倾注了很多心血的,虽然说是在开发时bug free,但是有资格对blender代码进行修改的几个人,还是得到了社区大多数code的承认的,在编写格式上,在思考方式和组织上面,应该还是见得人的。我们可以在读代码的同时学习到Blender数据的组织(数据结构),对数据的操作(算法),还有一个软件的总体把握(软件工程),和方法的应用(desgin partten)。我可重来没有想过要再造一个blender,这个是有条件限制的。时间:10年,精力:5-800个人月,金钱:500万欧元。这些没有庞大的组织和资金作保障是完不成的,就算有,那你10年做完的时候,也许blender已经象现在的maya之流一样好了。
兴趣方面也会是能不能够走得更远的关键。兴趣的力量要能抵挡住各种诱惑这也是相当难的。
半年的时间,学到很多,不过也是刚入门的样子,读代码,既在之内又在之外。{添加感想n字 mesh,细分曲面技术,2次三次插值,nurbs,b-spline与数值分析的关系,raytracing的算法种类,eular法与动力学模拟。。。}
打住,以后在论坛随时贴点学习进展,也许要比长篇大论好得多。


0 Comments:
发表评论
<< Home