Я плохо знаком с OpenGL и ИЗБЫТКОМ и нуждаюсь в помощи, устанавливая их и работая hello.c (см. ниже) в Visual C++ 2010 Express Edition.
Я использую Windows XP и читал на Wiki OpenGL, что Библиотека OpenGL уже установлена на моем компьютере. В результате я только загрузил ИЗБЫТОК для Win32 dll, библиотечного и заголовочного файла и извлек его.
У меня есть 4 вопроса:
Любая помощь будет значительно цениться.Заранее спасибо.
hello.c был взят из Главы 1 Руководства по программированию OpenGL
// hello.c renders a white rectangle on a black background
#include
#include
void display(void)
{
// clear all pixels
glClear(GL_COLOR_BUFFER_BIT);
// draw white polygon with corners at (0.25,0.25,0.0) and (0.75,0.75,0.0)
glColor3f(1.0,1.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(0.25,0.25,0.0);
glVertex3f(0.75,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glVertex3f(0.25,0.75,0.0);
glEnd();
// don't wait, start processing buffered OpenGL routines
glFlush();
}
void init(void)
{
// select clearing (background) color
glClearColor(0.0, 0.0, 0.0, 0.0);
// initialize viewing values
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
/*
Declare initial window size, position, and display mode
(single buffer and RGBA). Open window with "hello"
in its title bar. Call initiaization routines.
Register callback function to display graphics.
Enter main loop and process events
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,100);
glutreateWindow("Hello");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0; // ISO C requires main to return int
}
Повторяющийся вопрос, см. Использование GLUT с Visual C ++ Express Edition .
Кроме того: я определенно рассмотрел бы возможность использования Simple DirectMedia Layer ( http://www.libsdl.org/) как более современную и часто обновляемую замену почтенному GLUT.