3
Kodumda geçerli bir OpenGL içeriği nasıl ve hangi aşamada oluşturulur? Basit OpenGL kodunda bile hata alıyorum.Geçerli OpenGL içeriği
Kodumda geçerli bir OpenGL içeriği nasıl ve hangi aşamada oluşturulur? Basit OpenGL kodunda bile hata alıyorum.Geçerli OpenGL içeriği
comp.graphics.api.opengl
'daki yayınlardan, çoğu yeni doğanın ilk OpenGL programında ellerini yakması gibi görünüyor. Çoğu durumda, hata, OpenGL işlevinin geçerli bir OpenGL içeriği oluşturulmadan önce çağrılmasından kaynaklanır. OpenGL bir durum makinesidir. Makinenin çalıştırılmasından ve hazır duruma getirilmesinden sonra çalışmaya başlanabilir. İşte
#include <stdlib.h>
#include <GL/glut.h>
// Window attributes
static const unsigned int WIN_POS_X = 30;
static const unsigned int WIN_POS_Y = WIN_POS_X;
static const unsigned int WIN_WIDTH = 512;
static const unsigned int WIN_HEIGHT = WIN_WIDTH;
void glInit(int, char **);
int main(int argc, char * argv[])
{
// Initialize OpenGL
glInit(argc, argv);
// A valid OpenGL context has been created.
// You can call OpenGL functions from here on.
glutMainLoop();
return 0;
}
void glInit(int argc, char ** argv)
{
// Initialize GLUT
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowPosition(WIN_POS_X, WIN_POS_Y);
glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);
glutCreateWindow("Hello OpenGL!");
return;
}
Not:
glutCreateWindow()
olduğunu. Sadece bir pencere oluşturmaz, aynı zamanda bir OpenGL bağlamı oluşturur.glutCreateWindow()
ile oluşturulan pencere, glutMainLoop()
adı verilene kadar görünmez.