2010-07-08 5 views
1

Je suis nouveau sur OpenGL et GLUT et j'ai besoin d'aide pour les installer et lancer hello.c (voir plus bas) dans Visual C++ 2010 Express Edition.Installation du programme OpenGL/GLUT & running C?

J'utilise Windows XP et je lisais sur le OpenGL wiki que la bibliothèque OpenGL est déjà installée sur mon ordinateur. Par conséquent, j'ai seulement téléchargé GLUT for Win32 dll, lib and header file et l'ai extrait.

J'ai 4 questions:

  1. Si OpenGL est déjà installé, comment et que je trouve l'utilise dans mon projet Visual C++?
  2. Le OpenGL wiki a mentionné que opengl32.dll se trouve dans le dossier windows/system32 - que puis-je faire avec cette DLL? Est-ce que je viens d'ajouter glut.h au dossier des fichiers d'en-tête de Visual C++ Solution Explorer?
  3. Où est-ce que je mets glut32.dll, glut32.lib et glut.def?

Toute assistance sera grandement appréciée. Merci d'avance.

hello.c a été prise de OpenGL Guide de programmation Chapter 1

// hello.c renders a white rectangle on a black background 
#include <GL/gl.h> 
#include <GL/glut.h> 

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 
} 
+2

J'ai découvert que le wiki a clairement expliqué la plupart de vos questions. Dans Visual Studio IDE, il s'agit simplement de placer les en-têtes corrects car l'installation IDE a fourni le support Windows OpenGL à l'exception de la bibliothèque GLUT. Vous avez juste besoin d'ajouter une nouvelle référence à la bibliothèque GLUT dans votre configuration de projet. Normalement, vous n'avez pas à vous soucier de savoir où trouver ces DLL OpenGL dans les fichiers système Windows. Même, le wiki décrit la façon d'accéder aux dernières extensions OpenGL dans vos codes OpenGL car Windows n'a jamais mis à jour sa version OpenGL (encore 1.1) – eee

+0

Merci pour le commentaire. Mais je l'utilise sur Mac, pas sur Windows. – clwen

Répondre

2

double question, voir Using GLUT with Visual C++ Express Edition. En dehors de cela: Je envisagerais certainement d'utiliser le Simple DirectMedia Layer (http://www.libsdl.org/) comme un remplacement plus moderne et fréquemment mis à jour pour le vénérable GLUT.

+0

J'ai trouvé cette question. Mais je ne pense pas que ce soit dupliqué parce que j'utilise le système Mac plutôt que Windows. Le réglage devrait être différent? – clwen