0
화면에 간단한 삼각형을 그립니다. 내가 얼굴을 건너 뛰고 화면에 정점을 표시 할 OpenGL을 이해하기 :android opengl skip faces
public class GLObj
{
private FloatBuffer vertBuff;
private ShortBuffer pBuff;
private float vertices[] =
{
0f, 1f, 0, // point 0
1f, -1f, 0, // point 1
-1f, -1f, 0 // point 3
};
private short[] pIndex = { 0, 1, 2 };
public GLObj()
{
ByteBuffer bBuff = ByteBuffer.allocateDirect(vertices.length * 4); // each point uses 4 bytes
bBuff.order(ByteOrder.nativeOrder());
vertBuff = bBuff.asFloatBuffer();
vertBuff.put(vertices);
vertBuff.position(0);
// #### WHY IS THIS NEEDED?! I JUST WANT TO DRAW VERTEXES/DOTS ####
ByteBuffer pbBuff = ByteBuffer.allocateDirect(pIndex.length * 2); // 2 bytes per short
pbBuff.order(ByteOrder.nativeOrder());
pBuff = pbBuff.asShortBuffer();
pBuff.put(pIndex);
pBuff.position(0);
// ################################################################
}
public void Draw(GL10 gl)
{
gl.glFrontFace(GL10.GL_CW);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertBuff);
// ### HOW TO PASS VERTEXT ARRAY DIRECTLY WITHOUT FACES?? ###
gl.glDrawElements(GL10.GL_POINTS, pIndex.length, GL10.GL_UNSIGNED_SHORT, pBuff);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
}
}
내 문제는 이것이다 : 이것은 내 객체 클래스입니다. 문제는 glDrawElements 함수에만 정점을 전달하는 방법을 이해하지 못한다는 것입니다.
꼭지점을 점으로 표시하려면 '면'을 정의해야합니다 (pIndex 변수).
대단히 감사합니다! 내가 필요한 것! :) – user3578847