Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

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é: 5 782 / 685

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Pour les "Membres Club", vous pouvez 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

Commentaires et avis

signaler à un administrateur
Commentaire de yggy le 10/04/2007 11:03:14

il fonctionne sous dev-cpp?

signaler à un administrateur
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 ;) )

signaler à un administrateur
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?

signaler à un administrateur
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.

signaler à un administrateur
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...

signaler à un administrateur
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++

signaler à un administrateur
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)

signaler à un administrateur
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à)

signaler à un administrateur
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).

signaler à un administrateur
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

signaler à un administrateur
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...

signaler à un administrateur
Commentaire de bbear le 19/04/2007 12:23:45

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

signaler à un administrateur
Commentaire de yggy le 19/04/2007 13:22:51

comment on peut le faire fonctionner sous dev-cpp ?

signaler à un administrateur
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...

signaler à un administrateur
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++

signaler à un administrateur
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.

signaler à un administrateur
Commentaire de K_3 le 21/04/2007 16:48:23

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

signaler à un administrateur
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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,764 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.