센터가 월드 좌표의 원점이되도록 그라운드 평면을 정의하는 10 x 10 그리드를 그려야합니다. 이것은 그리드에 정의 된 각 라인에 대해 호출되는 코드입니다.OpenGL ES 안드로이드에서 그리드 라인을 그리는 방법?
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mVerticesBuffer);
gl.glTranslatef(x, y, z);
gl.glRotatef(rz, 0, 0, 1);
gl.glRotatef(rx, 1, 0, 0);
gl.glRotatef(ry, 0, 1, 0);
gl.glDrawArrays(GL10.GL_LINES, 0, 2);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
문제는 한 개의 수평선 만 보입니다. 그래서 뭔가 잘못되었다고 생각합니다.
Line line;
for (int i = 0; i <= 10; i++) {
// horizontal lines
line = new Line(-50, 0, 0, 50, 0, 0, 0, 0, 1, 1); // blue line
line.z = (i * 100) - 50;
lines.add(line);
// draw perspective lines
line = new Line(-50, 0, 0, 50, 0, 0, 0, 0, 1, 1); // blue line
line.x = (i * 100) - 50;
line.ry = 90;
lines.add(line);
}
내가 onDrawFrame에 그리기 코드를 호출 라인 컬렉션의 각 라인 :
이
는 선을 정의하는 코드입니다.
테스트를 마친 후 다시 쓸 것입니다. – ace
좀 더 명확하게하기 위해 더 많은 코드로 내 쿠 에이스 인을 업데이트했습니다. 나는 이미 당신이 제안한 것을하고 있지만 그것은 효과가 없다. – ace
흠, Line 클래스는 어디에서 왔습니까? 그리고 "lines"리스트는 mVerticesBuffer 어딘가로 변환됩니까? –