(Saya menggunakan PyOpenGL dan laptop saya menjalankan OpenGL 2.1)
Saya mendengar bahwa OpenGL menggambar segitiga jauh lebih cepat daripada poligon, tetapi penggunaan daftar tampilan juga mengurangi biaya overhead. Apakah saya akan memperoleh kecepatan dengan mengubah model saya menjadi garis segitiga, jika model tersebut saat ini berbentuk poligon (segitiga dan segi empat, dan lainnya) dan menggunakan glBegin(GL_TRIANGLE_STRIP)
untuk menggambar alih-alih glBegin(GL_POLYGON)
, jika saya tetap menggunakan daftar tampilan? Apakah daftar tampilan secara otomatis melakukan triangulasi semuanya?
Saya memiliki model dengan sekitar 50 wajah dalam format obj dan daftarnya dibuat dengan kode ini:
treelist = glGenLists(1)
glNewList(treelist, GL_COMPILE)
for s in OBJ.treeobjs:
for face in s.faces:
verts, normals, texcoords = face
glBegin(GL_POLYGON)
for i in range(len(verts)):
glNormal3fv(s.normals[normals[i]])
if texcoords[i] > 0:
glTexCoord2fv(s.texcoords[texcoords[i]])
glVertex3fv(s.vertices[verts[i]])
glEnd()
glEndList()
dan digambar dengan:
glCalllist(treelist)
Tetapi jika saya ingin mengubah semuanya menjadi strip segitiga (triangulasi mudah dilakukan dalam blender) saya harus menggunakan format yang berbeda dari obj?