计算机图形学
文章平均质量分 75
arrow_pig
这个作者很懒,什么都没留下…
展开
-
OpenSceneGraph(OSG) — 概述
<br />3D引擎,相信大家都不会陌生,OpenGL,DirectX,可是我们常常听到各个游戏公司还有自己写自己的3D引擎,因为OpenGL太底层了,用OpenGL的好处是利用图形卡的硬件加速功能(当然没有硬件支持,OpenGL也可以软件模拟),但是每个应用都有他的特殊性,把常用的一些渲染模块用面向对象的语言来封装OpenGL指令,能大大加快开发速度,在开发Insight的时候有机会看了NI Germany开发的针对测试测量数据渲染的3D 引擎,想到设计这样的引擎有什么共性呢。Neil跟我提到了一个O原创 2011-01-07 17:44:00 · 1809 阅读 · 0 评论 -
OSG — 内存管理策略
OSG和OpenGL的主要区别之一是OSG提供了组织空间场景的功能。OSG把空间场景和场景中的所有物体都组织在一棵树下。根节点代表整个场景,由根节点出发可以遍历场景中的所有物体。这个实现很简单了,如果我是这棵场景树的设计者,首先想到的就是,定义这个的节点类:<br />class gNode{<br />public:<br /> virtual ~gNode(); <br /> void addChild(gNode* pChild);<br />private:<原创 2011-01-07 17:44:00 · 1938 阅读 · 2 评论 -
OSG — 事件处理模型
纵览多数面向对象的库,在事件处理上都希望把事件源和事件处理分开。在说OSG的事件处理之前我想先看一个通用的事件处理模式,Reactor模式。<br />Reactor的是用于事件驱动的应用程序中的,将一个或多个客户提交的请求分发给相应的事件处理器处理。这里有两个设计需求:<br />Q1.客户提交的请求时不能阻塞客户代码,我们可以待会处理你的请求,但是不能看到你的请求时理都不理你。<br />解决: 设计一个Synchronously Event Demultiplexer.使用不阻塞客原创 2011-01-07 17:45:00 · 3191 阅读 · 0 评论