Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Opengl统一行为_C++_Opengl_Glsl_Shader - Fatal编程技术网

C++ Opengl统一行为

C++ Opengl统一行为,c++,opengl,glsl,shader,C++,Opengl,Glsl,Shader,我注意到opengl文档中没有很好解释的一些事情。如果我错了,请纠正我 如果程序不是opengl当时使用的程序,则无法设置统一的值。这将产生一个错误 如果在程序a中设置统一的值,然后切换到程序B,然后切换回程序a,则该值保持不变。这可靠吗 无法为此时未使用的程序设置统一的值。有解决办法吗 (包含在核心4.5中)允许您使用glprogrammuniform*EXT将统一设置为非绑定程序,并且您需要指定程序 制服按程序存储 见1 顺便说一下,glprogrammuniform*实际上是OpenGL

我注意到opengl文档中没有很好解释的一些事情。如果我错了,请纠正我

  • 如果程序不是opengl当时使用的程序,则无法设置统一的值。这将产生一个错误

  • 如果在程序a中设置统一的值,然后切换到程序B,然后切换回程序a,则该值保持不变。这可靠吗

  • 无法为此时未使用的程序设置统一的值。有解决办法吗

  • (包含在核心4.5中)允许您使用
    glprogrammuniform*EXT
    将统一设置为非绑定程序,并且您需要指定程序

  • 制服按程序存储

  • 见1


  • 顺便说一下,
    glprogrammuniform*
    实际上是OpenGL 4.1的核心(它是与
    GL\u ARB\u单独的\u着色器\u对象
    一起引入的),并且在提供
    GL\u EXT\u direct\u state\u访问的较旧实现中也可用。