Odysee, dll pour utiliser opengl uniquement en objet

Soyez le premier à donner votre avis sur cette source.

Vue 3 204 fois - Téléchargée 155 fois

Description

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;
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de cs_Kirua

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.