Première phase de devellopement Objet pour OpenGl.
Pour l'instant une unique classe "Window" permet de creer une fenetre sous OpenGL tres simplement :
#include "Odyssee.h"
void main(int argc, char ** argv)
{
Window maFenetre(argc, argv, 800, 600);
maFenetre.init();
}
Et ensuite, pour ceux qui aiment la programmation objet, il ne reste qu'a hériter et redéfinir les methode "display, reshape, ....."
CI-DESSOUS un exemple d'utilisation de la classe Window et de la DLL
ATTENTION, testé avec Visual C++ uniquement
Source / Exemple :
/*-----------------------------------------------------------------------*/
/* Generic Class Version 1.0
/*-----------------------------------------------------------------------*/
/* Copyright (c) 2000-2003 Nemesys Group
/*-----------------------------------------------------------------------*/
/* Authors: Picard Vincent <vincent@nemesys.tv>
/*-----------------------------------------------------------------------*/
/* Contact : <development@nemesys.tv>
/*-----------------------------------------------------------------------*/
/**----------------------------------------------------------------------*/
/* Opengl
/*----------------------------------------------------------------------**/
#include <GL/glut.h>
/**----------------------------------------------------------------------*/
/* Declaration de la DLL
/*----------------------------------------------------------------------**/
#include "Odyssee.h"
/**----------------------------------------------------------------------*/
/* La nouvelle classe Fenetre
/*----------------------------------------------------------------------**/
class MyWindow : public Window
{
public:
void display(); // Redefinition
MyWindow(int argc, char** argv, int width, int height);
};
/**----------------------------------------------------------------------*/
/* Redefinir la fonction d affichage
/*----------------------------------------------------------------------**/
void MyWindow::display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutWireSphere(1.0, 10.0, 10.0);
glutSwapBuffers();
}
/**----------------------------------------------------------------------*/
/* Constructeur
/*----------------------------------------------------------------------**/
MyWindow::MyWindow(int argc, char** argv, int width, int height)
:Window(argc, argv, width, height)
{}
/**----------------------------------------------------------------------*/
/* Fonction principale
/*----------------------------------------------------------------------**/
int main(int argc, char* argv[])
{
// Creer la fenetre
MyWindow maFenetre(argc, argv, 800, 600);
// Lancer l initialisation de la fenetre
maFenetre.init();
return 0;
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.