0

为什么某些 GL Image 函数需要使用 GL Load 来初始化 OpenGL 上下文?是否可以使用 GLEW 充分利用 GL Image 来初始化 OpenGL 上下文?

4

1 回答 1

3

如果你说的是Unofficial SDK 的 GL Image system,答案是否定的。SDK 旨在成为一揽子交易;如果您使用其中的一部分,则应该使用其余部分。毕竟,如果您可以构建并包含 GL Image,您也可以使用 GL Load,因为它们是捆绑在一起的。

而 GL Load 正是 GLEW 所做的;它在很多方面都更好,因为它不需要那种“实验性”的东西来让它在核心环境中工作。通过 C 接口,您可以将所有#include <GL/glew.h>部分替换为#include <glload/gl_[Insert Version Here].h>. 您不需要修改除此之外的任何代码(当然还有初始化代码)。

话虽如此,您应该能够同时使用 GL Load 和 GLEW,只要

  1. 你初始化他们两个。这意味着在创建 OpenGL 上下文之后调用glewInit 和。 LoadFunctions他们的变量不应该相互作用或任何东西。

  2. 永远不要尝试将它们的两个非系统标头包含在同一个文件中。GL ImageTextureGenerator.h实际上是专门设计为不需要包含 OpenGL 标头的(也就是说,它不直接使用像GLintor之类的 GL 类型GLenum)。

这显然是浪费,因为他们做的工作完全相同。但它应该工作。

于 2012-12-04T01:53:29.930 回答