gpt4 book ai didi

c++ - 加载的 OpenGL 函数是上下文特定的还是线程特定的? ( Windows )

转载 作者:可可西里 更新时间:2023-11-01 09:23:04 25 4
gpt4 key购买 nike

考虑一个场景,其中 2 个渲染上下文(每个都属于它们自己不同的窗口)存在于 2 个独立的执行线程中。 OpenGL 函数指针是否需要分别加载和使用?或者 gl* 函数指针可以是全局的,只为给定的应用程序实例加载一次并由两个窗口或上下文使用吗?

我问的原因是因为 OpenGL Function Loading Docs ,在谈到加载 wgl 函数时,指出:

This function only works in the presence of a valid OpenGL context. Indeed, the function pointers it returns are themselves context-specific. The Windows documentation for this function states that the functions returned may work with another context, depending on the vendor of that context and that context's pixel format.

In practice, if two contexts come from the same vendor and refer to the same GPU, then the function pointers pulled from one context will work in the other. This is important when creating an OpenGL context in Windows, as you need to create a "dummy" context to get WGL extension functions to create the real one.

强调我的。

我想知道 OpenGL 函数是否也存在这样的要求?

最佳答案

您在问题中复制的段落之前漏掉了一句话(重点是我的):

[...] The functions can be OpenGL functions or platform-specific WGL functions.

This function only works in the presence of a valid OpenGL context. Indeed, the function pointers it returns are themselves context-specific [...]

这意味着加载的 OpenGL 函数是特定于上下文的,就像 Windows 上的 WGL 函数一样。

关于c++ - 加载的 OpenGL 函数是上下文特定的还是线程特定的? ( Windows ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42975479/

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