gpt4 book ai didi

android - 打开 GL ES 2.0 - glGetAttribLocation 返回 -1

转载 作者:行者123 更新时间:2023-11-29 14:41:09 25 4
gpt4 key购买 nike

我有这个代码:

@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
GLES20.glClearColor(0, 0, 0, 1.0f);

int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER,
getVertexShader());
int fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER,
getFragmentShader());
mProgram = GLES20.glCreateProgram();
GLES20.glAttachShader(mProgram, vertexShader);
GLES20.glAttachShader(mProgram, fragmentShader);
GLES20.glLinkProgram(mProgram);

Matrix.setIdentityM(mMMatrix, 0);

**maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");**

}

在标记线之后,maPositionHandle 出于某种原因为 -1。

这是我的垂直着色器:

uniform mat4 uTMatrix;
uniform mat4 uMVPMatrix;
attribute vec4 aPosition;
attribute vec2 aTextureCoord;
varying vec2 vTextureCoord;

void main() {
gl_Position = uMVPMatrix * uTMatrix * gl_Position;
vTextureCoord = aTextureCoord;
}

如您所见,有一个名为 aPosition 的属性,但我得到 -1 并且屏幕上没有绘图输出。我该如何解决?谢谢。

最佳答案

“aPosition”未在着色器代码中使用,因此 GLSL 编译器已优化掉该变量。尝试在 gl_Position 分配中使用它,您会发现它有效。

gl_Position = uMVPMatrix * uTMatrix * aPosition;

关于android - 打开 GL ES 2.0 - glGetAttribLocation 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861351/

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