01-01-osg GL3 环境搭建

本文档详细介绍了如何配置和编译OpenSceneGraph以支持OpenGL3,适用于Visual Studio 2019 64位环境。首先,通过Git下载OpenSceneGraph源码、第三方库、OpenGL及EGL头文件。接着,在cmake-gui中配置编译选项,启用OSG_GL3_AVAILABLE,禁用其他不相关的OpenGL选项,并设置头文件路径。在编译过程中,可能遇到宏冲突问题,需要适当修改源码。最后,将编译好的库和dll复制到相应目录,运行示例程序验证配置成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

osg GL3 配置的编译

auhor: longlongwaytogo
email: longlongway2012@hotmail.com
repo: https://github.com/longlongwaytogo/LearnOsgGL3

准备工作

  • 下载osg最新版本

    git clone git@github.com:openscenegraph/OpenSceneGraph.git

  • 下载osg基于vs2019_x64的第三方库(感谢osg版主freesouth的编译)

    来自freesouth版主的链接

  • 下载OpengGL头文件

    	git clone git@github.com:KhronosGroup/OpenGL-Registry.git
    
    
    
  • 下载 egl头文件

    	git clone git@github.com:KhronosGroup/EGL-Registry.git
    
    

编译

  • 拷贝头文件:

    • copy OpenGL-Registry\api\GL目录至OpenSceneGraph\include目录下

    • copy EGL-Registry\api\KHR目录至OpenSceneGraph\include目录下

      如图:

    在这里插入图片描述

  • 解压第三方库

  • 运行cmake-gui进行配置

    • 在opensceneGraph目录下指定binary目录为build_vs2019_x64_GL3
    • 设置ACTUAL_3RDPARTY_DIR目录为3rdparty所在路径
    • search中输入opengl,设置opengl头文件为glcorearb.h,如下图:
      在这里插入图片描述
  • 设置osg中对OpenGL的支持:

    • 启用的配置:

      • OSG_GL3_AVAILABLE
    • 禁用的配置:

      • OSG_GL1_AVAILABLE
      • OSG_GL2_AVAILABLE
      • OSG_GLES1_AVAILABLE
      • OSG_GLES2_AVAILABLE
      • OSG_GL_DISPLAYLISTS_AVAILABLE
      • OSG_GL_FIXED_FUNCTION_AVAILABLE
      • OSG_GL_MATRICES_AVAILABLE
      • OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
      • OSG_GL_VERTEX_FUNCS_AVAILABLE

    如图所示:
    在这里插入图片描述

    • 设置编译BUILD_OSG_EXAMPLES 选项
    • 设置WIN32_USE_MP 加速编译速度
    • 点击genrate,打开sln工程进行编译
  • 错误修复:

    可能出现无法编译,找不到GL_COMPRESSED_RGB_S3TC_DXT1_EXT,需要注释掉Texture头文件第60行,因为该宏被glcorearb.h已经定义过了:

		//#ifndef GL_EXT_texture_compression_s3tc
			#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT         0x83F0
			#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT        0x83F1
			#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT        0x83F2
			#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT        0x83F3
			#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT        0x8C4C
			#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT  0x8C4D
			#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT  0x8C4E
			#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT  0x8C4F
		//#endif
  • copy 第三发库 dll到bin目录下

  • 运行 例子中的 osgsimplegl3:

    	osgsimplegl3 cow.osg
    

    如图:
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值