begin process at 2012 02 10 11:20:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > INTRO OPENGL (PARTICULES+BITMAPFONT+JPGLIB OU PNGLIB+MINIFMOD, UFMOD OU AHX)

INTRO OPENGL (PARTICULES+BITMAPFONT+JPGLIB OU PNGLIB+MINIFMOD, UFMOD OU AHX)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :OpenGL Classé sous :intro, particules, minifmod, ahx, jpeg Niveau :Débutant Date de création :05/04/2007 Date de mise à jour :27/05/2008 19:40:57 Vu / téléchargé :7 214 / 750

Auteur : bbear

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
je poste ici mon premier essai opengl. Je me suis basé sur un FireWorks que l'on trouve dans les demos de NeHe, par Belarus Arrow, utilisant le framework opengl de NeHe.
Au depart c'etait pour mieux voir comment fonctionne l'OGl et faire des modifs au fur et à mesure (FullScreen/Windowed, Texture, musique...).
De plus je n'aimais pas les explosions d'origine : elles etaient "carrées". J'ai donc modifié et ajouté des effets.
J'ai ensuite ajouter une image de fond au debut en BitMap resource, puis en utilisant la lib Jpg TIJG (ou PNG), modifiée pour lire un fichier transformé en tableau de char (pour eviter les resources).
J'ai voulu voir comment fonctionnait un afficheur de texte avec une Font Bitmap en OGl, et j'ai trouvé un code de Brian Postma qui m'a permis de comprendre.
Pour finaliser, j'ai implementé le MiniFmod pour jouer un bon vieux module. C'est une version légèrement modifiée pour lire un tableau de char (et non le fichier mod en resource).
J'ai aussi mis le player uFmod et AHX au choix. Ahx utilise le mode Multithread. Dans VC6, il faut mettre projet/settings/c++/code generation/Multithread (static version, pas dll)
Pour uFmod, rajouter ufmod.obj au linker.

Bugs Report et toutes erreurs ou mauvais codes et autres ameliorations, trucs et astuces sont bienvenues.

pour les Matheux et les pros de l'OpenGl, j'aimerai me pencher un peu plus sur l'aspect feux d'artifices : comment ameliorer le rendu, faire de nouveaux effets, rajouter de la fumée... Ce serait Top, Merci d'avance

Tout est dans le Zip

Source

  • voir Zip.
  • Modif:
  • une petite modif à faire (oubli de decharger les textures créées)
  • ajouter à "rendering.cpp" la fonction :
  • void greUnloadLevelTextures(void)
  • {
  • glDeleteTextures(1, &texture[0]);
  • glDeleteTextures(1, &texture[1]);
  • glDeleteTextures(1, &texture[2]);
  • }
  • et dans le "main.cpp", dans la fonction wmDeInit() :
  • gcUnloadLevel();
voir Zip.
Modif: 
une petite modif à faire (oubli de decharger les textures créées)

ajouter à "rendering.cpp" la fonction :
void greUnloadLevelTextures(void)
{
glDeleteTextures(1, &texture[0]);
glDeleteTextures(1, &texture[1]);
glDeleteTextures(1, &texture[2]);
}

et dans le "main.cpp", dans la fonction wmDeInit() :
gcUnloadLevel();

 Conclusion

j'ai eu un bug avec AHX : le processus ne se fermait pas. Gênant et totalement bloquant en mode fullscreen. Tester de preference en Windowed, et voir si une fois fermé, le processus est bien terminé.
Edit: maintenant je n'ai plus ce bug

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

06 avril 2007 16:20:19 :
rajout de l'utilisation de la lib PNG, bien que la difference de taille avec la lib Jpg (220 ko contre 24 ko) ne soit pas compensée par la taille de l'image (16 ko contre 122 ko)
07 avril 2007 00:45:06 :
correction d'une erreur (esc pour sortir et pas n'importe quelle touche)
10 avril 2007 13:00:29 :
màj zip
11 avril 2007 22:29:03 :
ajout de l'utilisation de uFmod (encore plus petit que MiniFmod)
15 avril 2007 18:21:25 :
màj pragma/lib
17 avril 2007 17:22:53 :
màj commentaire
19 avril 2007 01:30:57 :
màj exec : multithread static version
27 mai 2008 19:39:25 :
erratum : je poste ici une petite modif à faire (oubli de decharger les textures créées) ajouter à "rendering.cpp" la fonction : void greUnloadLevelTextures(void) { glDeleteTextures(1, &texture[0]); glDeleteTextures(1, &texture[1]); glDeleteTextures(1, &texture[2]); } et dans le "main.cpp", dans la fonction wmDeInit() : gcUnloadLevel();
27 mai 2008 19:40:57 :
une petite modif à faire : oubli de decharger les textures créées

 Sources du même auteur

Source avec Zip Source avec une capture SNAKE GRAPHIQUE (GDI) - 2 JOUEURS
Source avec Zip Source avec une capture INTRO 5 TINYPTC/DDRAW - PARALLAX
Source avec Zip Source avec une capture INTRO 4 TINYPTC/DDRAW UFMOD + PLASMA
Source avec Zip Source avec une capture INTRO 3 TINYPTC/DDRAW + UFMOD
Source avec Zip Source avec une capture INTRO 2 TINYPTC/DDRAW (SINUSCROLL)

 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture !!M - SINTRO par Romano58
Source avec Zip Source avec une capture OPENGL - UN PEU DE NEIGE... par underprog
Source avec Zip MATRICE ZIGZAG par Mjj_Yuna
Source avec Zip Source avec une capture INTRO 5 TINYPTC/DDRAW - PARALLAX par bbear
Source avec Zip Source avec une capture INTRO 4 TINYPTC/DDRAW UFMOD + PLASMA par bbear

Commentaires et avis

Commentaire de yggy le 10/04/2007 11:03:14

il fonctionne sous dev-cpp?

Commentaire de bbear le 10/04/2007 11:30:09

pas testé, mais je peux verifier (à moins que quelqu'un l'ai déjà fait, qu'il se manifeste ;) )

Commentaire de MorbhAck le 17/04/2007 16:27:38

Manifique!

Mais heu... ?? Comment sa se fait que l'executable fasse seulement 79Ko ?
avec toutes les ressources?

Commentaire de bbear le 17/04/2007 17:18:52

je l'ai compressé pour l'archive. Il doit faire 430 ko non compressé. Et comme je l'ai indiqué peut importe d'utiliser le png, le jpg, finalement le BMP se compresse aussi bien, voir mieux.

Commentaire de bbear le 17/04/2007 17:21:24

en plus c'est la version AHX que j'ai mise, pas la version Module, qui meme compressé doit faire 200 ko
Tout dépend de la taille de la musique, de l'image...

Commentaire de Romano58 le 19/04/2007 01:14:43

J'ai un gros paquets d'erreur avec Dev-C++ :,-(

Bon, je ne vais pas lacher l'affaire si facilement :D Je modifie la source pour éssayer de compiler et aprés je reviens (si j'y arrive évidament...)

Ah oui j'ai renommer le fichier .exec (dans le rep "release") en .exe mais sa ne fonctionne pas... (aucun message d'erreur)

A++

Commentaire de bbear le 19/04/2007 01:29:50

je n'arrive à rien avec devcpp
comment ça, ça ne ne fonctionne pas ?
je met à jour l'exe dans l'archive (attendre que l'exec ne soit plus dans release pour voir si c'est à jour)

Commentaire de bbear le 19/04/2007 01:33:24

normalement l'exe est un peu plus gros, car en static lib (ça vient peut etre de là)

Commentaire de Romano58 le 19/04/2007 11:55:11

Oulala c'est génial ! Tres beau travail (je n'ai pas regarder la source ce coup ci, mais le rendu est extra). Bien jouer BBEAR !

Vive les intros :) Je suis fana de ce genre de trucs par contre dommage que la demoscene française est absente (si je me trompe dite moi).

Commentaire de bbear le 19/04/2007 12:07:41

la demoscene française n'est pas absente : la preuve par l'excellente Invitro de la BreakPoint 2007 "FrameSkool"/Equinox, superbe intro openGl codé par Keops, avec la superbe musique de 4Mat (le retour!) : http://www.pouet.net/prod.php?which=30055

Y a une compo de remake de cracktros Amiga sur http://dbfinteractive.com/ - ou voir sur http://www.intro-inferno.com
voilà ma première entry : http://cyberpingui.free.fr/skidrow_robocod.zip

Commentaire de Romano58 le 19/04/2007 12:16:26

Mais je vais voire sa direct mon amie :) Tu me redonne espoire, mercie ^^

Cool ta petite demo ! Tu as fait sa en quoi ? je demande parce que je galére pour faire des demo (j'ai du mal a me servir d'OpenGL, Je trouve DelphiX un peux lourd (pas loin de 300Ko l'exe), et je ne sais pas me servir du GDI (sa existe les putpixel avec windows ?)... Bref je suis une brelle ^^

Vraiment je suis épater...

Commentaire de bbear le 19/04/2007 12:23:45

je l'ai faite en C/C++ avec le framework TinyPTC/DirectDraw.

Commentaire de yggy le 19/04/2007 13:22:51

comment on peut le faire fonctionner sous dev-cpp ?

Commentaire de bbear le 19/04/2007 13:37:43

Romano58 y travaille... ou aller faire un tour sur http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19 : le framework opengl de base existe en version devcpp
et je vais voir aussi...

Commentaire de Romano58 le 19/04/2007 13:48:20

Oui je vais éssayer mais c'est chaud :) Sinon j'ai récupéré tinyPTC sur sourceforge.net pour faire du graph simplement... j'en bave d'avance ^^

A++

Commentaire de Romano58 le 20/04/2007 00:21:44

Je n'y arrive pas... :,(

par contre j'ai trouver un nouveau joujou :

http://pixeltoaster.com/ (le succésseur officiel de tinyPTC qui est mort du coup le pauvre) Compilable sous dev-c++ sans aucun probléme (je vien de le faire) et plutot cool haha.

Commentaire de K_3 le 21/04/2007 16:48:23

Beau travail =) [img]http://www.pouet.net/gfx/rulez.gif[/img]

Commentaire de bbear le 27/05/2008 15:40:13

erratum : je poste ici une petite modif à faire (oubli de decharger les textures créées)

ajouter à "rendering.cpp" la fonction :
void greUnloadLevelTextures(void)
{
glDeleteTextures(1, &texture[0]);
glDeleteTextures(1, &texture[1]);
glDeleteTextures(1, &texture[2]);
}

et dans le "main.cpp", dans la fonction wmDeInit() :
gcUnloadLevel();

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

lecture d image au format jpeg [ par a-sophie ] Salut,Je souhaite lire et sauvegarder des images au format jpeg avec visual c++ .Si jamais quelqu un a des conseils ou des pistes a me donner, ce sera DirectX : Afficher des Jpeg ??? [ par Stoomm ] Bonjour,Je sais qu'il est possible d'afficher des jpg en DX au lieu des bmp, mais je ne sais pas comment.Si quelqu'un a un p'tit bout de code...Merci Transformer une image JPEG en BMP [ par FLOX ] Bonjour à tous,Auriez vous un source me permettant de transformer une image JpEG en BMP. Tout cela d'une manière simple et compréhensive pour un début HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année [ par FLOX ] Bonjour à tous,Auriez vous un source me permettant de transformer une image JPEG en BMP. Tout cela d'une manière simple et compréhensive pour un début opengl et devc++ >> lumiere et fichier jpeg [ par D4rkRe4per ] hello tlmj'aurai 2 questions a poser concernant l'OpenGL.Travaillant avec Dev c++, j'aurai aimé savoir comment créer une lumiere. (par exemple pour la images JPEG en vidéo MPEG1 [ par brozman ] Bonjour, je dois faire un programme qui genere un fichier video au format MPEG1 a partir d'images JPEG,est-ce qu'il existe des programmes, des sources Directx 8 et DDRAW - JPEG [ par tazkeum ] J'ai utilisé DirectX 8 pour charger du JPEG par D3DXCreateTextureFromFile.Mais j'ai un systeme d'animation 2D qui utlise DirectDraw (DirectX 7 -LPDIRE Afficher une image Jpeg dans une fenêtre (en fond) [ par JayC ] Salut !J'essaye d'afficher une image dans mon application en VC++ (j'utilise VC++ 6.0) et je sais vraiment pas comment faire.En fait ce que je voudrai importer des bmp ou jpeg du disk dur dans un projet vc++6 et les mettres en fond sur une boite de dialigue ou un bouton [ par retaks666 ] j'aimerais savoir comment importer des bmp ou jpeg du disk dur dans un projet vc++6 et les mettres en fond sur une boite de dialigue ou un bouton. je INTERFACE VCPP6 en SDI/AFFICHAGE JPEG DANS FENETRE POUR TRT [ par petitgregory ] Programmeur débutant avec MFC, je cherche à effectuer une interface SDI dans laquelle je souhaite ouvrir dans une fenêtre une image Jpeg ou Bmp afin d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,730 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales