OSG编译

版权声明:本文为博主原创文章,未经博主允许不得转载。如果对文章有意见,请留言,认为有帮助,请顶一下。我创建了一个QQ群“Vulkan编程指南”,群号616407254,点击链接加入群【Vulkan编程指南】:https://jq.qq.com/?_wv=1027&k=467WJmb, 欢迎反馈问题。Vulkan编程指南翻译系列可能不会再更新或者校对了,有兴趣的同学可以等试读版或者纸质版出版,等两个三月即可。 https://blog.csdn.net/cloudqiu/article/details/80228812
2018-05-07

   相较于《OpenSceneGraph三维渲染引擎编程指南》中用到的2.8版本,当前3.6版本的OSG编译过程还是非常简单的。我们只需要注意几个选项即可。
   在search 框内输入“deprecated”,会有两个选项被搜索到。需改为不勾选状态,我们不再需要老版本接口方式了。
   OSG_GL_CONTEXT_VERSION可填写3.3,这将会变成一个宏:#define OSG_GL_CONTEXT_VERSION "3.3",在osg/GL文件中。暂时还没有发现这个宏对于OSG的影响是什么。
   需要下载第三方lib预编译版本。此文档中有各种版本的下载选项。解压之后文件夹名字为3rdparty,放在OSG、build_OSG同级目录即可。cmake能自行找到。亦可自己指定目录。
   generate之后,需要把build_OSG/include目录文件都copy到 OSG/include 目录,然后就可以开始编译OSG了。
   OSG依赖的lib有 libcurl,libpng,zlib,jpeg,freetype,libtiff,glut,gif。都是用于支持显示相关功能的,有静态链接也有动态链接的(glut, curl,png,zlib)。如果自己的项目中也有使用到这些lib,那么需要注意版本问题。若所需版本高于osg 中这些lib的版本,那么只能尝试自己来编译特殊的OSG版本了。
   至于OSG group中 GL1、GL2、固定定点、显示列表等选项,我尝试过不勾选,但是最后编译出错。可能是作者还没有把老式的OpenGL接口完全去除掉。
   OSG目前还是在开发中,从log来看,似乎这半年来作者Robert Osfield commit 的频率高了不少。因为OSG本身只支持OpenGL,若能够完全剔除老版本的OpenGL接口就好了。
   最好使用最新版本的cmake.

如果有任何意见,欢迎留言讨论。 


[ 主页 ]

猜你喜欢

转载自blog.csdn.net/cloudqiu/article/details/80228812