Odysee, dll pour utiliser opengl uniquement en objet

Soyez le premier à donner votre avis sur cette source.

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

cs_Kirua
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 :-)
cs_Nemesys
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.
cs_Kirua
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 ;-)
cs_Nemesys
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.
cs_Kirua
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

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.