小编Gat*_*nos的帖子

OpenGL ES 3.0 Java用颜色数组绘制顶点(每个顶点有不同的颜色)

我有线条,我想用数组的颜色来绘制它们。

颜色数组是一个 FloatBuffer,每个顶点都有 RGBA 数据。

我尝试了这种方法,但它不起作用:

着色器代码:

private final String vertexShaderCode =
    "uniform mat4 uMVPMatrix;" +
    "attribute vec4 vPosition;" +
    "void main() {" +
    "  gl_Position = vPosition;" + 
    "}";

private final String fragmentShaderCode =
    "precision mediump float;" +
    "uniform vec4 vColor;" + 
    "void main() {" +
    "  gl_FragColor = vColor;" + 
    "}";
Run Code Online (Sandbox Code Playgroud)

绘制方法:

public void draw(GL10 gl)
{
    GLES30.glUseProgram(mProgram);

    mPositionHandle = GLES30.glGetAttribLocation(mProgram, "vPosition");

    GLES30.glEnableVertexAttribArray(mPositionHandle);

    GLES30.glVertexAttribPointer(mPositionHandle, COORDS_PER_VERTEX, GLES30.GL_FLOAT, false, vertexStride, vertexBuffer);

    gl.glEnableClientState(GL10.GL_COLOR_ARRAY);

    gl.glColorPointer(vertexBufferSize / 4 / 4, GL10.GL_FLOAT, 4*4, colorBuffer); …
Run Code Online (Sandbox Code Playgroud)

java android opengl-es glsl opengl-es-3.0

2
推荐指数
1
解决办法
1320
查看次数

标签 统计

android ×1

glsl ×1

java ×1

opengl-es ×1

opengl-es-3.0 ×1