OSG最新教程连载:最长的一帧 (共30话,已放出PDF版本)
2008年8月14日开始放出“第一日”,以后每天放出一话。欢迎到教程专区阅读并批评指正。毕竟写这个话题的难度太高,我总得先反复做一些检查;一天一话是给有兴趣的朋友一个缓冲,还有就是这样连载觉得比较好玩~~^_^
===========================
《最长的一帧》
作者:王锐(array @ osgchina.org)
随意转载,请注明原作者,请勿收费
这是一篇有关OpenSceneGraph源代码的拙劣教程,没有任何能赏心悦目的小例子,也不会贡献出什么企业级的绝密的商业代码,标题也只是个噱头(坏了,没人看了^_^)。
本文写作的目的说来很简单,无非就是想要深入地了解一下,OSG在一帧时间,也就是仿真循环的一个画面当中都做了什么。
对OSG有所了解之后,我们也许可以很快地回答这个问题,正如下面的代码所示:while (!viewer.done())
viewer.frame();就这样,用一个循环结构来反复地执行frame()函数,直到done()函数的返回值为true为止。每一次执行frame()函数就相当于完成了OSG场景渲染的一帧,配置较好的计算机可以达到每秒钟一二百帧的速率,而通常仿真程序顺利运行的最低帧速在15~25帧/秒即可。
很好,看来笔者的机器运行frame()函数通常只需要8~10ms左右,比一眨眼的工夫都要短。那么本文就到此结束吗?
答案当然是否定的,恰恰相反,这篇繁琐且可能错误百出的文字,其目的正是要深入frame()函数,再深入函数中调用的函数……一直挖掘下去,直到我们期待的瑰宝出现;当然也可能是一无所获,只是乐在其中。
这样的探索要到什么时候结束呢?从这短短的10毫秒中引申出来的,无比冗长的一帧,又是多么丰富抑或无聊的内容呢?现在笔者也不知道,也许直到最后也不会明了,不过相信深入源代码的过程就是一种享受,希望读者您也可以同我一起享受这份辛苦与快乐。
源代码版本:OpenSceneGraph 2.6.0;操作系统环境假设为Win32平台。为了保证教程的篇幅不致被过多程序代码所占据,文中会适当地改写和缩编所列出的代码,仅保证其执行效果不变,因此可能与实际源文件的内容有所区别。
由于作者水平和精力所限,本文暂时仅对单视景器(即使用osgViewer:: Viewer类)的情形作出介绍。
本文在写作过程中将会用到一些专有名词,它们可能与读者阅读的其它文章中所述有所差异,现列举如下:
场景图形-SceneGraph;场景子树-Subgraph;节点-Node;摄像机-Camera;渲染器-Renderer;窗口-Window;视口-Viewport;场景-Scene;视图-View;视景器-Viewer;漫游器-Manipulator;访问器-Visitor;回调-Callback;事件-Event;更新-Update;筛选-Cull;绘制-Draw。
[ 本帖最后由 array 于 2008-8-16 13:11 编辑 ] 期待~~~~~~~~~~~~:lol :lol :lol 斑竹好强!!支持以下...................:lol :lol :lol 强烈支持! 板凳了 这个不支持,就真对不起ARRAY兄啦! 这个要支持 最长的一帧 (已放出9话)
写小说的,一看就是写小说的,名不虚传呀,哈哈 顶array兄章回体小说,哈哈 顶,谢谢老大 相当支持!!! 相当好 Array真牛。
差距啊。我要努力。 斑竹厉害,我想更深入的了解osg的机制有没有那方面的资料 目前看来,国内外应该都只有本人的这篇《最长的一帧》是针对OSG内部实现进行介绍的 :lol
今年计划写一部为OSG初学者查漏补缺的《OSG跬步》教程,其中会详解OSG现有的重要机制,包括多线程,内存管理,节点树,访问器,回调,插件管理,仿函器等。敬请在五月份之后期待~~~~在这之前笔者可能会忙得抽不出空来。 PDF版本从哪儿可以获取到啊? 原帖由 minghongxie 于 2009-3-23 20:19 发表 http://bbs.osgchina.org/images/common/back.gif
PDF版本从哪儿可以获取到啊?
教程区精华:
http://bbs.osgchina.org/viewthread.php?tid=696 原帖由 array 于 2009-3-23 22:14 发表 http://bbs.osgchina.org/images/common/back.gif
教程区精华:
http://bbs.osgchina.org/viewthread.php?tid=696
thanks. 对你的无私奉献表示崇高敬意!:P 楼主真是厚道人啊
必须向楼主致敬! “不过相信深入源代码的过程就是一种享受,希望读者您也可以同我一起享受这份辛苦与快乐。”
这是墨子的精神~
对这种痛并快乐着的变态行为致敬!继续努力多出好东西!
雄起‘
页:
[1]