OSG专栏
文章平均质量分 52
OSG渲染引擎研究
knowthyselfcn
桌面端、网站架构,会点opengl,会点Android
展开
-
OSG入门简介
Gitchat开通要先写一篇文章,我还没有想好完整的的教程目录。不过,肯定是三维方面的。后续的,想要开展一些桌面端、网站服务端架构介绍的专题。OpenGL与DX11/12的选择?我认为,最好还是学习一下OpenGL。对于想做游戏的开发者,那毫无疑问,应该去学习DX。 OSG与OGRE选择?我之前的文章没有提过,这里简单提一下。OSG比OGRE要简单多了,OSG仅仅是一个三维渲...原创 2019-11-16 10:15:12 · 1017 阅读 · 0 评论 -
OSG QGLWidget ContextMenu删除致崩溃问题
2019-11-05 去年,公司项目在三维交互中提出了一项需求。在QGLWidget上构造的右键菜单中直接删除点选中的对象。对于被选择的普通三维对象,弹出的右键菜单删除它是没有问题的,但是,删除overlay层控件时,却导致OSG内部崩溃。我查看了一下OSG源代码,发现是设计之初没有考虑过这个需求。然而,实现这个功能patch却是很简单的,只需要修改两个文件,并且,需要定制osgWidget...原创 2019-11-06 12:39:29 · 385 阅读 · 0 评论 -
OSG实现正交投影
2019-08-10 前段时间群里有人问OSG的正交投影怎么实现,似乎不熟悉的同学都陷入错误的思考方式,从而难以把问题想明白。其实,这个功能很简单。只要想明白了,就会豁然开朗,也能对类似的问题有所帮助。OSG内置的manipulator都是为透视投影准备的。但是,CAD程序多数情况下需要使用正交投影。OSG抽象了一个Manipulator类型,鼠标、键盘驱动camera进行交互浏览。其继承层...原创 2019-08-12 09:40:38 · 2815 阅读 · 4 评论 -
基于OSG的资源导入
2018-09-13 我们经常需要在渲染程序中继承各种格式的文件导入功能,虽然我们可以自行编译各种文件类型处理的lib,但是,如果渲染引擎能够有一个模块来处理这样的工作是最好的了。OSG插件机制真的是利器。这里主要讲讲用OSG插件进行资源导入。OSG支持多种3D格式,链接[1]表明,基本囊括了我们能接触到的数据交换格式。对于每一种格式,OSG都有插件来处理。插件用dll来实现,根据文件...原创 2019-08-06 10:50:25 · 554 阅读 · 0 评论 -
OSG场景管理
2018-09-01 场景管理是渲染引擎的核心功能,我们希望能够把所有的渲染物体合理的组织在一起,而且能够方便的查找、管理。本质上就是设计一个或者多个数据结构。这个目标很容易实现,放在一个数组里就可以了,各种操作的代价也不是很大。但是,这是不行的。 首先,我们需要把显示物体分组,一堆对象可能是属于一起的,在逻辑上在一个集合,虽然我们可以用额外的数据结构来进行分组管理,那很容出错。所以...原创 2019-08-06 10:49:47 · 1199 阅读 · 5 评论 -
OSG 八叉树 与 Kd Tree
2018-09-01 在游戏或者CAD程序中,我们经常面对的一个需求:已知空间(多数是二维、三维,也有少数高维空间)内的一个物体,求解距离它最近的k个物体是哪些。当然,这个问题可能很简单,假设空间内只有几百几千、甚至几万个个物体,我们只需要遍历一下即可。也花费不了几毫秒时间。但是,当空间内的物体有几百万、几千万个的时候呢,或者几亿几十亿呢?你个简单的查找就耗费几十分钟、几个小时,这绝不能忍...原创 2019-08-06 10:48:54 · 2302 阅读 · 0 评论 -
基于OSG的巨量点云渲染
2018-08-12 点云渲染是非常简单的事情。因为我们只需要处理顶点,光照都不需要考虑。但是,当点云的数量很大,达到千万、亿级别时,事情就变得困难了。FPS低于10,就根本没有办法做什么交互了,甚至显存根本装不下需要渲染的对象,或者顶点数量超过了显卡的能力上限。所以,我们需要优化这个过程。点云显示最大的性能瓶颈就是光栅化,顶点的数量是最大的问题所在。针对此问题,我们一般由两种优化措施...原创 2019-08-06 10:48:19 · 4480 阅读 · 1 评论 -
OSG编译
2018-05-07 相较于《OpenSceneGraph三维渲染引擎编程指南》中用到的2.8版本,当前3.6版本的OSG编译过程还是非常简单的。我们只需要注意几个选项即可。 在search 框内输入“deprecated”,会有两个选项被搜索到。需改为不勾选状态,我们不再需要老版本接口方式了。 OSG_GL_CONTEXT_VERSION可填写3.3,这将会变成一个宏:#define...原创 2018-05-07 17:29:57 · 1337 阅读 · 0 评论