|
OpenSceneGraph 2.5.x版本开始提供基于GTK+的三维模型浏览示例程序,在GNU/Linux下,使用X11+GTK可以方便地编译此程序并浏览三维模型,但是在Windows下却比较困难。首先是CMake的问题(参看“OpenSceneGraph RSVG插件”一文),在Windows下它无法自动识别并生成osgviewerGTK工程,需要我们手动建立一个新的EXE工程,并添加示例文件目录的三个cpp文件。
osgviewerGTK的依赖库设置较为繁琐,除了需要依赖GTK+,GLib,Pango,Cario等一系列第三方库(可以参照osgdb_svg的工程设置),还需要依赖GtkGLExt库(http://gtkglext.sourceforge.net),以实现GTK+界面环境下的OpenGL图形显示。GtkGL库的Win32版本是基于minGW32生成的,为了实现它的VS版本,除了重新建立工程并编译GtkGL for VS之外,还有一种相对简单的方法:
首先使用第三方的pexports或者VS的link工具,从DLL文件生成DEF文件:
pexports libgtkgl-win32-1.0-0.dll > gtkgl-win32-1.0.def
确认.def文件的格式正确,然后执行:
lib -def:gtkgl-win32-1.0.def -out:gtkgl-win32-1.0.lib
生成LIB文件,gdkgl-win32-1.0.lib的获取流程与此相同。
然后就可以基于这些依赖库构建osgviewerGTK了,注意源代码中存在VS编译器不能识别的关键字,因此不能编译通过。把条件判断语句中的“not”,“and”和“or”改成C++可识别的操作符:“!”,“&&”和“||”即可
这里我提供了osgviewer依赖库的FS下载地址,注意有时间限制:
http://www.fs2you.com/files/3bb4f6dc-3625-11dd-a157-0014221f4662/
附件是可执行文件(需要依赖库中的两个DLL文件)和效果图。注意在Windows下GTK图形界面的启动速度可能较慢 |
|