OpenGL-设置内置统一变量

OpenGL-设置内置统一变量,opengl,glsl,Opengl,Glsl,我一直在阅读一系列教程,当我在OpenGL中遇到一个关于fog的教程时,它提到了内置变量gl_FogParameters。这是在应用程序中设置的,然后通过着色器访问的内容 换句话说,是否以相同的方式设置各种雾变量: glFogi(GL_FOG_MODE, GL_LINEAR); glFogf(GL_FOG_START, 10.f); glFogf(GL_FOG_END, 40.f); 或者它实际上是您发送给着色器的统一体?所有以gl\uu开头的统一体都跟踪OpenGL固定函数状态的某些特定部分

我一直在阅读一系列教程,当我在OpenGL中遇到一个关于fog的教程时,它提到了内置变量gl_FogParameters。这是在应用程序中设置的,然后通过着色器访问的内容

换句话说,是否以相同的方式设置各种雾变量:

glFogi(GL_FOG_MODE, GL_LINEAR);
glFogf(GL_FOG_START, 10.f);
glFogf(GL_FOG_END, 40.f);

或者它实际上是您发送给着色器的统一体?

所有以
gl\uu
开头的统一体都跟踪OpenGL固定函数状态的某些特定部分。它们从GL的固定函数状态中获取其值。规范明确说明了哪些状态映射到哪些变量。

也不要忘记,固定函数已被弃用,因此OpenGL-3核心概要文件或更高版本不允许使用这些变量。