为什么uniformCount不能等于GL_ACTIVE_UNIFORMS

时间:2015-06-06 18:56:06

标签: opengl-es

根据glGetActiveUniformsiv的文档,

时会生成Microsoft.Deployment.WindowsInstaller.Installer.SetInternalUI(InstallUIOptions.Silent); Microsoft.Deployment.WindowsInstaller.Installer.EnableLog(InstallLogModes.Info, @"C:\Uninstall.log"); Microsoft.Deployment.WindowsInstaller.Installer.ConfigureProduct(productCode, 0, InstallState.Absent, "");
  

uniformCount大于或等于程序的GL_ACTIVE_UNIFORMS值。

为什么uniformCount不能等于GL_INVALID_VALUE

1 个答案:

答案 0 :(得分:1)

这看起来像是手册页中的一个错误。不幸的是,手册页并不总是可靠的信息来源。最后一句话总是规范。我无法在ES 3.0规范中找到此错误。我能找到的唯一相关错误是:

  

对于GetActiveUniformsiv,uniformIndices在此列表中指定了uniformCount索引的数组。如果uniformIndices中的index或任何值大于或等于ACTIVE_UNIFORMS的值,则生成错误INVALID_VALUE。

据我所知,uniformCount没有限制。

在OpenGL 4.5规范中,glGetActiveUniformsiv()被描述为等同于glGetProgramResourceiv()被称为uniformCount次的循环。 glGetPogramResourceiv()记录无效索引的GL_INVALID_VALUE错误。但是uniformCount没有任何限制。