gpt4 book ai didi

opengl-es - 如何在 OpenGL es 2.0 vertex shader pro 中找到所有制服的列表

转载 作者:行者123 更新时间:2023-12-04 00:17:48 29 4
gpt4 key购买 nike

我正在尝试学习如何编写顶点着色器。在 Apple 的示例项目中,他们有一行设置

glUniform1f(uniforms[UNIFORM_TRANSLATE], (Glfloat)transY);

然后这个值用于
// value passt in f
// glUniform1f(uniforms[UNIFORM_TRANSLATE](Glfloat)transY);
uniform float translate;

void main()
{
gl_Position.y+=sin( translate);


我无法找到所有制服的所有制服的列表。

有谁知道我在哪里可以找到所有制服的列表和一本关于学习如何编程顶点着色器的好书或教程。

最佳答案

统一参数是传递给 GL 着色器的数据,在绘制调用期间不会更改。

您可以使用以下代码查询链接的 GLSL 程序以获取事件制服列表:

int total = -1;
glGetProgramiv( program_id, GL_ACTIVE_UNIFORMS, &total );
for(int i=0; i<total; ++i) {
int name_len=-1, num=-1;
GLenum type = GL_ZERO;
char name[100];
glGetActiveUniform( program_id, GLuint(i), sizeof(name)-1,
&name_len, &num, &type, name );
name[name_len] = 0;
GLuint location = glGetUniformLocation( program_id, name );
}

此代码检索许多事件制服并对其进行迭代,提取名称、类型、值数量和制服位置。

关于opengl-es - 如何在 OpenGL es 2.0 vertex shader pro 中找到所有制服的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4783912/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com