我是OpenGL的新手。
想知道OpenGL是否有任何好的Scenegraph API /框架。
目前我正在使用基于自定义节点的解决方案:我正在为每个节点设置子节点和兄弟节点,调用遍历函数。
在管理场景中的动态元素时,我想要一个更灵活的解决方案。
答案 0 :(得分:7)
SDL有点过时而不是过剩,但是你在正确的轨道上滚动自己的图形结构来管理风景。有很多框架可供使用。例如,OpenSceneGraph已经存在了很长一段时间。 OGRE也有很多关注者。但是,它不是严格的OpenGL库,因为DirectX和软件渲染器也可用。
您可能希望查看相关主题,例如binary space partitioning,quadtrees / octrees和kd-trees。
答案 1 :(得分:3)
我同意openscenegraph是一个伟大的场景图。它是用C ++编写的,并且与其他一些语言绑定,但据我所知,它不适用于.NET。我们在这种情况下使用的东西比普通的旧opengl更多,并且正在查看托管的directx,xna,wpf和opengl。我们选择基于Tao.OpenGL编写我们自己的场景图作为opengl。
您可以通过在剔除和渲染阶段之前进行更新阶段来完成动态对象。如果你做多线程,你需要小心更新阶段。
答案 2 :(得分:3)
答案 3 :(得分:2)
我第二次(第三次?)使用OpenSceneGraph。它是强大的跨平台,并且与Qt(我们的应用程序在MacOS,Windows和Linux上运行,使用OpenSceneGraph和Qt一起运行)很好地集成。文档可能不如商业选项那么精致,但是有一本书你可以购买(以及一本免费的快速入门指南),它真的很有帮助。