Saya baru saja mulai menggunakan openGL yang saya pelajari sendiri dari sebuah buku. Dalam buku saya, saya diberitahu untuk membuat paha depan menggunakan strip segitiga karena lebih efisien. Buku ini menggunakan simpul-simpul ini untuk membuat segi empat.
vertices.push_back(-0.5f);
vertices.push_back(0.0f);
vertices.push_back(0.0f);
vertices.push_back(0.5f);
vertices.push_back(0.0f);
vertices.push_back(0.0f);
vertices.push_back(-0.5f);
vertices.push_back(0.0f);
vertices.push_back(-1.0f);
vertices.push_back(0.5f);
vertices.push_back(0.0f);
vertices.push_back(-1.0f);
Saya tidak mengerti mengapa sumbu z tidak konstan, sepertinya sumbu z harus tetap konstan dan sumbu y harus berubah untuk membuat tampilan persegi dalam 2d. Saya tidak mengerti mengapa sumbu z digunakan.
Ini sisa kodenya
Untuk memuat simpul dalam buffer
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * vertices.size(), &vertices[0], GL_STATIC_DRAW);
Untuk menampilkan persegi
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0.0, 5.0, 0.1, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glVertexPointer(3, GL_FLOAT, 0, 0);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glDisableClientState(GL_VERTEX_ARRAY);
Meskipun saya tidak memahaminya, kotak tersebut masih ditampilkan dengan benar, jadi pasti berfungsi.