gpt4 book ai didi

google-chrome - WebGL:INVALID_OPERATION:uniform1i:位置不适用于当前程序

转载 作者:行者123 更新时间:2023-12-03 03:22:15 26 4
gpt4 key购买 nike

我正在尝试在片段着色器中设置两个纹理,但如果我尝试使用以下命令设置相应的统一变量,则会收到此错误:

gl.uniform1i(getUniformLocation(program, "uTextureOne"), 0);gl.uniform1i(getUniformLocation(program, "uTextureTwo"), 1);

这是什么意思? (我使用的是 Chrome)

我的着色器看起来像这样:

        "#ifdef GL_ES                       \r\n" +
"precision mediump float; \r\n" +
"#endif \r\n" +
"uniform sampler2D uTextureOne; \r\n" +
"uniform sampler2D uTextureTwo; \r\n" +
"varying vec3 vOrgNormal; \r\n" +
"void main(void) { \r\n" +

最佳答案

“位置不适用于当前程序”意味着事件着色器程序 ( gl.useProgram ) 不是您从中获取统一位置的程序。

如果您仅使用一个着色器程序,则只需确保在初始化中执行 gl.useProgram在您执行任何操作之前gl.uniform… .

如果您使用多个着色器程序,请确保在尝试设置统一值之前选择正确的程序。请注意,制服是特定于程序的,并且它们会被程序记住,因此您不必每次切换程序时都重新设置它们!

关于google-chrome - WebGL:INVALID_OPERATION:uniform1i:位置不适用于当前程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14413713/

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