【问题标题】:Moving from fixed-pipeline to modern OpenGL从固定流水线迁移到现代 OpenGL
【发布时间】:2011-08-24 05:59:14
【问题描述】:

我已经完成了一些简单的 OpenGL(旧的固定管道,没有着色器 ..etc),并想开始一些严肃的“现代”OpenGL 编程。 (应该在 Windows 和 Linux 上编译)

我有几个问题。

1) 在 Windows 中,“gl.h”没有声明 OpenGL2.0+ 相关的 API 调用。(例如 glShaderSource())。如何访问这些 API 调用? 我不想安装显卡特定的头文件,因为我想在其他机器上编译这个应用程序。

2) 在 Linux 中,如果我安装 Mesa 库,我可以访问上面的 OpenGL2+ API 函数吗?

【问题讨论】:

    标签: c++ opengl opengl-3 mesa


    【解决方案1】:

    一些人长期以来一直认为(由于 90 年代末/00 年代初 GL 版本更新缓慢),获取核心 OpenGL 调用的方法是只包含一个标头和一个库。手动加载函数指针是您为扩展所做的,用于“显卡特定”功能。事实并非如此。

    您应该始终使用extension loading library 来访问OpenGL 函数,无论是核心还是扩展。 GLEW 是一款相当不错的产品,如果您能忍受它的局限性(仅限 3.0 内核或更高版本),GL3W 也不错。

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 1970-01-01
      • 2021-12-28
      • 2014-01-24
      • 2017-08-30
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多