Odysee, dll pour utiliser opengl uniquement en objet

Soyez le premier à donner votre avis sur cette source.

Vue 3 275 fois - Téléchargée 177 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

Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

oui c'es étonnant et par après je l'ai regretté, surtout qu'elle ne contient que la boîte à propos... toujorus en quête d'un hébergeur :-)
Messages postés
10
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
14 septembre 2005

Et bien alors, pour quelqu'un qui n'aime pas les DLL c'est surprenant de voir "la DLL KiruaSofts" sur ton site ;-)
En tout cas, ton FTP rapide fonctionne bien.
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ou ic'est un point de vue qui se défend, c'est certain. disons que dans un premeir temps je vais m'en tenir à un .h ;-)
Messages postés
10
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
14 septembre 2005

Dommage, c vrai que les DLL sont parfois manquantes, mais quand tu veux faire un programme assez complet, c'est plus facile d'avoir plusieurs DLL et un point EXE plutot qu'un seul EXE de 10 Mo (voir plus). Pas pratique pour la compil et aussi pour la mise à jour avec un seul .EXE.
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ah ok. je sais pas comment faire mais c pas grave, je ne vais pas utiliser ça ;-) c énervant de devoir fournir les DLL avec les exe, ça donne tjs des problèmes à la fin (manque la pièce ds le zip etc)

enfin merci qd meme
Afficher les 11 commentaires

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.