Çok, sorun oldukça basit olduğundan emin değilim, ancak sorunları görmüyorum ve hata ayıklayıcı bana yardımcı olmuyor. Her neyse, bir uçak çizmeye çalışıyorum ve tek alacağım siyah. Bunu çizip çekmediğinden emin değilim, ama görülmesi için çok küçük.opengl glDrawElements Sorunlar
int index[][3] = {{0,1,4}, {0,3,4}, {1,2,5}, {1,4,5}};
double VertexA[][3] = {{0.0 , 0.0 , -.0415}, {0.5, 0.0, .6543}, {1.0,0,-.0415},
{0.0, 0.5, .093}, {0.5, 0.5, -.070}, {1.0, 0.5 , .093},
{0.0,1.0, -.0415}, {0.5, 1.0, .6543}, {1.0,1.0,-.0415}}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_DOUBLE, 24, VertexA);
glDrawElements(GL_TRIANGLES, 4, GL_UNSIGNED_INT, index);
glDisableClientState(GL_VERTEX_ARRAY);
glutSwapBuffers();
}
void reshape(int w, int h) {
if (w <= h) {
glViewport(0,(h-w)/2, w,w);
}
else {
glViewport((w-h)/2,0,h,h);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30.0, w/h, 10.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}
Bu, kodumun tanımlı bir VertexA/Dizin dizisiyle değiştirilmiş pasajıdır. İndeks/vertexArray'ın doğru bir şekilde elde edildiğinden eminim, çizmenin bir parçası da konulara bakıyorum. Sanırım glDrawElement veya gluPerspective'ı yanlış kullanıyorum. Dürüst olmak gerekirse, emin değilim. ColorArray'ım olmalı mıyım? İlk etapta bir renk tanımlamıyorsam beyaz olmalı? Herhangi bir sorunuz varsa veya snippet'ten daha fazlasını istediğinizi soruyorsunuz, ancak sorunların snippet içinde olduğunu hissediyorum.
Yan yana: derleyicim '.0.5' (satır 3) ile çifte başlatmaya çalışırken bir yazım hatası veriyor. –
Düzelt, bir yazım hatası oldu, VertexA/Dizin verisini aldığım bütün kodu postalamak istemedim – Leruce