目前我正在从顶点着色器传递一个浮点数:
varying float fog_factor;
...
fog_factor = clamp(gl_Position.z, 0.0, 1.0);
...
到片段着色器:
varying float fog_factor;
...
gl_FragColor = texture2D(sampler_texture_4, ...) * fog_factor;
...
我的问题,我需要在 java 代码中添加什么吗?传递浮点数组时,我需要添加如下内容:
vertex_position_handle = GLES20.glGetAttribLocation(program, "vertex_position");
GLES20.glEnableVertexAttribArray(vertex_position_handle);
GLES20.glVertexAttribPointer(vertex_position_handle, 3, GLES20.GL_FLOAT, false, 3 * 4, vertex_buffer);
现在我只在我的 java 代码中为我的 float 执行此操作:
fog_handle = GLES20.glGetAttribLocation(program, "fog_factor");
我问这个是因为这段代码在我的设备上运行,但在其他设备上崩溃......