qidao123.com技术社区-IT企服评测·应用市场

标题: 关于 OpenGL 的上下文、线程和共享上下文之间的关系 [打印本页]

作者: 半亩花草    时间: 6 天前
标题: 关于 OpenGL 的上下文、线程和共享上下文之间的关系
OpenGL 上下文(OpenGL Context)是一个包罗了 OpenGL 所有状态信息的环境,是你与 GPU 举行任何 OpenGL 调用之前必须建立的基础。
简单来说,它是“OpenGL 的运行容器”,你在程序中实验的所有 OpenGL 命令,都是在“当前上下文”中生效的。
OpenGL 是一个状态机,它没有“全局变量”或“全局实验环境”,你不能“在任何地方”调用 glDrawArrays() 就能绘制图形。
你必须在一个已经激活的上下文中调用,OpenGL 才知道你希望它在哪里渲染、利用什么资源。
OpenGL 上下文包罗的状态和资源具体指什么?
状态信息: 当前扫除颜色(glClearColor)、混淆模式(glBlendFunc)、视口(glViewport)等。
资源: 已创建的纹理(Texture)、缓冲对象(VBO/FBO)、着色器程序(Program)、VAO 等。
在 OpenGL 中,一个线程可以拥有多个上下文(OpenGL Context),分别代表不同的 OpenGL 状态集,但是一个线程在同一时间只能绑定(make current)一个上下文。<

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4