gpt4 book ai didi

opengl - glGetString(GL_VERSION) 得到哪个版本?

转载 作者:行者123 更新时间:2023-12-04 02:23:32 24 4
gpt4 key购买 nike

glGetString(GL_VERSION) 是获取系统支持的最大版本,还是当前上下文的版本?

我知道您需要创建上下文才能使 glGetString() 正常工作,因此我想知道它是当前上下文还是可用的最高上下文。

最佳答案

来自规范(从 3.3 规范文档复制):

String queries return pointers to UTF-8 encoded, NULL-terminated static strings describing properties of the current GL context.

所以它是当前上下文支持的版本。如果您在客户端/服务器设置中操作,则有一个微妙的方面:

GetString returns the version number (in the VERSION string) that can be supported by the current GL context. Thus, if the client and server support different versions a compatible version is returned.

按照我的理解,如果两个版本不同,它将返回客户端和服务器之间的最小值。

通常使用 glGetIntegerv() 检查版本更容易。这样,您不必开始解析字符串,还可以获得额外的详细信息:

GLint majVers = 0, minVers = 0, profile = 0, flags = 0;
glGetIntegerv(GL_MAJOR_VERSION, &majVers);
glGetIntegerv(GL_MINOR_VERSION, &minVers);
glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &profile);
glGetIntegerv(GL_CONTEXT_FLAGS, &flags);

if (profile & GL_CONTEXT_CORE_PROFILE_BIT) {
...
}

if (profile & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) {
...
}

if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) {
...
}

关于opengl - glGetString(GL_VERSION) 得到哪个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25171460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com