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
Opengl 确定顶点着色器使用的渲染器_Opengl_Glsl_Shader_Gpu - Fatal编程技术网

Opengl 确定顶点着色器使用的渲染器

Opengl 确定顶点着色器使用的渲染器,opengl,glsl,shader,gpu,Opengl,Glsl,Shader,Gpu,苹果的OpenGL着色器生成器让你可以放入你的顶点或片段着色器,它将链接并验证它,然后告诉你哪个GL_渲染器用于该着色器。对我来说,它要么显示:苹果软件渲染器为红色,因为这意味着着色器将是dog slow或AMD Radeon HD 6970M OpenGL引擎,即我的gpu渲染器,我通常希望运行着色器 如何在运行时在自己的软件中确定这一点 编辑: 在我的CPU代码中查询GL_渲染器似乎总是返回AMD Radeon HD 6970M OpenGL引擎,无论我将其放置在绘图循环中的何处,即使我使用

苹果的OpenGL着色器生成器让你可以放入你的顶点或片段着色器,它将链接并验证它,然后告诉你哪个GL_渲染器用于该着色器。对我来说,它要么显示:苹果软件渲染器为红色,因为这意味着着色器将是dog slow或AMD Radeon HD 6970M OpenGL引擎,即我的gpu渲染器,我通常希望运行着色器

如何在运行时在自己的软件中确定这一点

编辑:
在我的CPU代码中查询GL_渲染器似乎总是返回AMD Radeon HD 6970M OpenGL引擎,无论我将其放置在绘图循环中的何处,即使我使用的是OpenGL shader Builder说在Apple软件渲染器上运行的着色器,我相信它,因为它非常慢。是否需要在正确的时间查询GL_渲染器?如果是,当使用的渲染器绑定到OpenGL上下文时,正确的OpenGL实现不应在两者之间切换渲染器。当然,OpenGL实现可能构建在一些在后端渲染器之间动态切换的基础设施上,但这必须反映到识别这一点的渲染器字符串中的前端上下文

所以你所做的确实是正确的方法