ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
};<br />
0, 1, 2, 0, 2, 3, //square base<br />
0, 3, 4, // side 1<br />
0, 4, 1, // side 2<br />
1, 4, 2, // side 3<br />
2, 4, 3 // side 4<br />
ไลบรารีขั้นสูงที่ใช้ในส่วนการติดต่อกับผู้ใช้งาน<br />
141<br />
// Buffers to be passed to gl*Pointer() functions<br />
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4);<br />
vbb.order(ByteOrder.nativeOrder());<br />
mVertexBuffer = vbb.asIntBuffer();<br />
mVertexBuffer.put(vertices);<br />
mVertexBuffer.position(0);<br />
ByteBuffer cbb = ByteBuffer.allocateDirect(colors.length*4);<br />
cbb.order(ByteOrder.nativeOrder());<br />
mColorBuffer = cbb.asIntBuffer();<br />
mColorBuffer.put(colors);<br />
mColorBuffer.position(0);<br />
}<br />
mIndexBuffer = ByteBuffer.allocateDirect(indices.length);<br />
mIndexBuffer.put(indices);<br />
mIndexBuffer.position(0);<br />
public void draw(GL10 gl) {<br />
gl.glFrontFace(GL10.GL_CW);<br />
gl.glVertexPointer(3, GL10.GL_FIXED, 0, mVertexBuffer);<br />
gl.glColorPointer(4, GL10.GL_FIXED, 0, mColorBuffer);<br />
gl.glDrawElements(GL10.GL_TRIANGLES, 18, GL10.GL_UNSIGNED_BYTE,<br />
mIndexBuffer);<br />
}<br />
}<br />
private IntBuffer mVertexBuffer;<br />
private IntBuffer mColorBuffer;<br />
private ByteBuffer mIndexBuffer;<br />
ปิรามิดจะประกอบด้วยมุมจำนวน 5 มุม โดย 4 มุมจะอยู่ที่ฐานจัดวางเป็นรูปสี่เหลี่ยมจัตุรัส และ<br />
อีก 1 มุมอยู่ตรงส่วนยอด เราจะอ้างอิงจุดศูนย์กลางของรูปทรงนี้ด้วยค่า (0,0,0)<br />
สีที่แสดงบนรูปทรงนั้นจะสัมพันธ์กับตำแหน่งของมุมของรูปทรง ณ ตอนนั้น เราจะกำหนดให้<br />
มุมตรงส่วนฐานมีสีม่วงและมุมตรงส่วนยอดมีสีขาว และใช้ไลบรารีในการไล่สีดังกล่าว ซึ่งการสร้าง<br />
รูปทรงและการไล่สีของรูปทรงแบบนี้จะทำให้ภาพที่แสดงผลมีลักษณะเป็น 3 มิติยิ่งขึ้น