跨OpenGL共享上下文设置纹理参数的调用能否成功?
问题解答
能成功。
OpenGL的共享上下文机制会让同属一个共享组的上下文共享对象命名空间,包括纹理、缓冲区、着色器程序等对象。你在contextA中创建的纹理对象,其句柄在contextB中是有效的,因为两个上下文共享了这些对象的命名空间。
纹理对象的参数是存储在纹理对象自身内部的,不属于当前上下文的绑定状态(和VAO这类绑定后才生效的容器对象不同)。因此只要纹理句柄有效,在contextB中调用glTextureParameterf修改该纹理的参数是完全符合OpenGL规范的,调用会正常执行并生效。
内容的提问来源于stack exchange,提问作者WillyWonka
相关产品推荐
相关产品推荐

