0

我有下一个顶点和片段着色器:

String vertexShader = "attribute vec4 a_position;    \n"
    + "attribute vec4 a_color;\n" 
    + "attribute vec2 a_texCoords;\n"
    + "uniform mat4 u_worldView;\n" 
    + "varying vec4 v_color;"
    + "varying vec2 v_texCoords;"
    + "void main()                  \n"
    + "{                            \n"
    + "   v_color = vec4(1, 1, 1, 1); \n"
    + "   v_texCoords = a_texCoords; \n"
    + "   gl_Position =  u_worldView * a_position;  \n"
    + "}                            \n";
String fragmentShader = "#ifdef GL_ES\n"
    + "precision mediump float;\n"
    + "#endif\n"
    + "varying vec4 v_color;\n"
    + "varying vec2 v_texCoords;\n"
    + "uniform sampler2D u_texture;\n"
    + "void main()                                  \n"
    + "{                                            \n"      
     + "  gl_FragColor = texture2D(u_texture, v_texCoords);\n"
    + "}";

如何设置属性a_positiona_color以及a_texCoords3D 球体?要设置制服,我使用:

texture.bind();
shader.begin();
shader.setUniformMatrix("u_worldView", matrix);
shader.setUniformi("u_texture", 0);
//HOW TO?
//shader.setAttributef("a_texture", value1, value2, value3, value4)
mesh.render(shader, GL20.GL_TRIANGLE_STRIP);
shader.end();
4

0 回答 0