Trouver un fichier de code source :
   

Version Française - English Version
Accueil > 

C++

 > 

BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D

 > 

Envi3D/OpenGLWidget.h


BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D

Envi3D/OpenGLWidget.h


Informations sur ce code source

Cliquez pour voir la capture en taille normale
Code Source BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D
Auteur envi33
Fichier Envi3D/OpenGLWidget.h en C / C++ / C++.NET
Publié le 25/07/2011
Mis à jour le 25/07/2011

Bonjour à tous, Voici un moteur 3D gérant les textures tous formats (supporté par QT) et contient un loader de fichier .obj que j'ai écrit personnellement. Il permet d'illustrer l'utilisation de deux QGLWidget en même temps et comment se servir de
 

Fichier : Envi3D/OpenGLWidget.h

Nombre de lignes : 86 lignes


Afficher ce fichier en plein écran
  • /*
  • Auteur : Xcxl
  • Date : lun. aout 4 2008
  • Role : Gere les QGLWidget
  • C'est ici que se passe l'affichage de l'environnement. Il y a d'abord initializeGL et resizeGL à la fin
  • du constructeur, puis le MainWindows appelle les updateGL() de ces QGLwidget ici présents.
  • Ils recoivent le tableau de pointeur vers chaque objet et il n'y a plus qu'à appeler pour
  • chacun AfficherObjet() puis placer les lumières!
  • */
  • #ifndef DEF_NOUVEL_ECRAN
  • #define DEF_NOUVEL_ECRAN
  • #include <GL/gl.h>
  • #include <GL/glu.h>
  • #include <cmath>
  • #include <vector>
  • #include <QtOpenGL/QGLWidget>
  • #include <QImage>
  • #include <QTextStream>
  • #include <QMessageBox>
  • #include <QDebug>
  • #include <QString>
  • #include "Objets.h"
  • #include "Personnage.h"
  • #include "Coord3D.h"
  • #include <QKeyEvent>
  • using std::vector;
  • class OpenGLWidget : public QGLWidget
  • {
  • //Q_OBJECT
  • public:
  • OpenGLWidget ( QWidget *parent, int largeur, int hauteur, Personnage *joueur, Coord3D positionCamera, Coord3D targetCamera, int taillSolX, int tailleSolY, Objet *listeObjet[], int nombreObjets, int typeCamera, QString nomDeClasse = "" );
  • void setVueIsActive(bool active); //si on desactive la minicarte avec le menu
  • private:
  • void initializeGL(); //initialisation des paramtres opengl, du fog, des textures,...
  • void resizeGL ( int width, int height ); //est appele quand on cree le widget
  • void paintGL(); //appelle apres lors des updateGL (quand on veut rafraichir)
  • GLuint loadTexture ( QString filename, bool useMipMap); //chargement des textures
  • static void dessinerRepere();
  • void ConversionVecteursVersAngles();
  • bool _vueActive;
  • int _typeDeCamera;
  • Coord3D _positionCamera;
  • Coord3D _cibleCamera;
  • float _theta;
  • float _phi;
  • Personnage *p_joueur;
  • Coord3D _positionJoueur; //variables temporaires de calcul, utilisé seulement pour calculer la cible visé par la camera (fonction ConversionVecteursVersAngles()...)
  • Coord3D _targetJoueur;
  • int _tailleSolX;
  • int _tailleSolY;
  • Objet *p_listeObjets[50]; //pointeur vers chaques objets
  • int _nombreObjets; //information transmise par mainwindow
  • Coord3D _positionObjet; //information que l'on va recuperer a laide du pointeur sur chaque objet
  • Coord3D _orientationObjet;
  • vector< vector< vector< float > > > *p_tableauVectrices;
  • int _nombreDeTextures;
  • GLuint texturesGun1, texturesGun2,textureSol, textureJoueur,textureVueInactive;
  • QString _nomDeClasse;
  • int a; //angle de rotation de la sphere de lumière
  • };
  • #endif


Liste des fichiers du ZIP

FichierTaille
Envi3D/Coord3D.cpp3,26 Ko
Envi3D/Coord3D.h1,4 Ko
Envi3D/Envi3D.pro484 o
Envi3D/Envi3D.pro.user14,22 Ko
Envi3D/Envi3D.user14,25 Ko
Envi3D/libgcc_s_dw2-1.dll42 Ko
Envi3D/listeObjetsMap.txt6,06 Ko
Envi3D/main.cpp792 o
Envi3D/MainWindow.cpp20,14 Ko
Envi3D/MainWindow.h2,59 Ko
Envi3D/Makefile7,36 Ko
Envi3D/Makefile.Debug7,48 Ko
Envi3D/Makefile.Release7,59 Ko
Envi3D/Meshs/bullet.obj7,6 Ko
Envi3D/Meshs/chaise.obj8,29 Ko
Envi3D/Meshs/cube.obj675 o
Envi3D/Meshs/fenetre.obj370 o
Envi3D/Meshs/lampe2.obj22,89 Ko
Envi3D/Meshs/murT25.obj788 o
Envi3D/Meshs/porte.obj786 o
Envi3D/Meshs/sol.obj361 o
Envi3D/Meshs/toitT25.obj472 o
Envi3D/Meshs/whisp.obj4,71 Ko
Envi3D/mingwm10.dll11,1 Ko
Envi3D/Objets.cpp21,67 Ko
Envi3D/Objets.h3,39 Ko
Envi3D/OpenGLWidget.cpp16,74 Ko
Envi3D/OpenGLWidget.h2,69 Ko
Envi3D/Personnage.cpp17,37 Ko
Envi3D/Personnage.h3,05 Ko
Envi3D/pics/.directory55 o
Envi3D/pics/bullet.png16,16 Ko
Envi3D/pics/caisse.png20,89 Ko
Envi3D/pics/door061.png52,56 Ko
Envi3D/pics/floor.png48,05 Ko
Envi3D/pics/lampeON.png83,75 Ko
Envi3D/pics/metalGun1.png29,8 Ko
Envi3D/pics/metalGun2.png37,29 Ko
Envi3D/pics/roof.png45,41 Ko
Envi3D/pics/sable.png42,89 Ko
Envi3D/pics/vueInactive.png1,92 Ko
Envi3D/pics/wall009.png37,11 Ko
Envi3D/pics/whisp.png30,36 Ko
Envi3D/pics/window018.png24,25 Ko
Envi3D/sounds/light_torpedo_low.wav337,54 Ko

Pour télécharger le zip au complet, veuillez vous rendre sur cette page :
Télécharger BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR UN TRÈS PROCHAIN JEU 3D


Sources du même langage comportant un zip


Voir la suite...





Softwares to download (FR)...

  • Easy-Planning (4.5.0.11)
    Easy-Planning (4.5.0.11)
    Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté aux petites et moyennes entreprises(PME). Easy-Planning permet la création de plannings prévisionnels, p...
  • CVEasy (3.1.0.51)
    CVEasy (3.1.0.51)
    PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante. PHMSD-CVEasy vous assistera pour la rédaction de votre CV, le CV de vos amis ou de membres de votre famille, m...
  • LettresFaciles 2011 (8.6.0.31)
    LettresFaciles 2011 (8.6.0.31)
    LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types. Son interface simple d'utilisation mais suffisamment complète vous permettra de créer une multitude de lettres....

Sondage...

Le top des photos

Photo ??Photo ???????????????
Photo ????????Photo ????????
 

Développement réalisé par Nicolas SOREL (Nix) et Emmanuel (EBArtSoft) avec l'aide de Cyril DURAND, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,45 sec