줄이 있으며 배열의 색상으로 그립니다.OpenGL ES 3.0 자바가 색상 배열 (각 꼭지점마다 다른 색상)을 사용하여 정점을 그립니다.
색상 배열은 각 꼭지점에 대한 RGBA 데이터가있는 FloatBuffer입니다.
는 나는이 방법을 시도했지만 작동하지 않습니다 :
쉐이더 코드 :
이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;" +
"}";
그리기 방법 :
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);
GLES30.glDrawArrays(GLES30.GL_LINES, 0, vertexBufferSize/4/COORDS_PER_VERTEX);
GLES30.glDisableVertexAttribArray(mPositionHandle);
gl.glDisableClientState(GL10.GL_COLOR_ARRAY);
}
내가이 개 좌표를 사용하여이 설정하기 정점 (COORDS_PER_VERTEX = 2).
무엇이 문제입니까?