IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Demomaking


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut Demomaking
    Voila je suis éblouis par le génie des gars capable de coder une demo de 64ko qui contient beaucoup de textures, de la musique de qualité et qui dure 15 minutes par dessus.
    Quand je vois que mon simple programme en OpenGL qui affiche 2 deux simples lignes prends deja plus de 120ko je me dis comment est ce possible ?
    Si il y a des demomakers dans la salle j'espère qu'ils pourront m'éclaircir sur ces trucs et astuces qui font que les démos sont si petites et renferment tant de chose
    Merci d'avance !

  2. #2
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    ...Rassure moi... Tu ne compile quand même pas en mode debug ?????

  3. #3
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Arg si !
    Je me suis jamais penché sur la question Debug ou release quelle différence ?
    mais la on dévie du sujet je crois non ?

  4. #4
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Enfin bon en effet en release c est moins gros je me suis renseigné sur la différence.
    Cependant une simple rotation de cube prends déja 40ko....

  5. #5
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    Peut être que tes demo makers utilisent des dll que tu n'a pas pris en compte dans les 64Ko

  6. #6
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    prenons cette demo :

    http://www.scene.org/file.php?file=/demos/groups/farb-rausch/fr08_final.zip&fileinfo

    Il n'y a q'un exécutable. (Forcément par la suite, elle s'appuit sur des dll OpenGL ou DirectX de l'OS mais rien de plus, ou autres dll créent à l'occasion pour cette démo)

  7. #7
    Membre actif Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Points : 272
    Points
    272
    Par défaut
    C'est vrai que c'est étrange une démo aussi longue sur 64Ko. Mais déjà dans une démo tout est précalculé...Ca simplifie grandement le code...
    En fait quand je cré quelquechose , je pense en premier à ce que ce sera et peut être à la fin je regarde la taille de l'exe

    PS: Une version DEBUG contien des informations utiles au débuggage qui sont inutile ( et donc supprimé ) pour une version finale ( release ) d'où le changement de taille.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 28
    Points
    28
    Par défaut
    il l'expliquent en partie sur leur site : http://www.theproduct.de/.

    il ne stocke aucune données brutes. tout est généré au début de la démo pendant le petit temps de chargement. et puis au final l'exécutable est packé avec upx.

  9. #9
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    effectivement il ne stockent aucune donnée, elles sont toute crée au depart et si tu regarde bien la quasi totalitée des trucs que tu voient sont descriptible mathematiquement, il ne reste plus qu'a les assembler entre eux pour donner l'impression d'un truc super complexe.
    par exemple la fameuse cafetiere qu'on voit dans beaucoup d'exemple (et qui est même une primitive de la glu !!! ) et descriptible mathematiquement avec des surfaces courbes...

    il y a une autre methode qui consiste a crée des objet en utilisant les fonction aleatoire mais en forcant le seed de la fonction donc le resultat est le même d'une execution a l'autre !!!

    autrement pour les texture ce sont en fait des textures procedurales ( le plus souvent juste des assemblages de points de couleurs proches ) et d'ailleurs la plus part des textures sont des textures de beton ou autre...

    enfin je decrit la des techniques simples mais il en existe d'autre comme par exemple de stoquer des texture en tres basse resolution et de les agrandire avec des technique comme l'interpolation.

    sinon pour reduire la taille du code il n'y a pas de mystere... la plus part du code est fait en assembleur.

    voila @+
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  10. #10
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Merci bafman j'y vois plus clair en ce qui concerne les méthodes.
    Cependant quand tu dis que pour réduire la taille de l'exe y a pas de miracle , la plus part du code c est de l'asm, je me pose des questions sur le comment ?
    Etant donné que ces démos utilisent des library graphiques comme Direct3D ou OpenGL, donc des fonctions de haut niveau donc pas d'asm.
    Enfin je le vois comme ça.
    Un autre point aussi : la musique !
    Sacré bonne qualité la musique, comment ils stockent ça dans 64k ?

  11. #11
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    ça me fait quand meme halluciné, les gars arrivent à générer des textures de briques mathématiquement
    Quelqun aurait un exemple concret en open source ?

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    pour la musique y'a les mods ou d'autres formats (comme le .spc le format de la SNES) qui donnent une bonne qualité en tres peu d'espace
    mais c toujours le meme principe que pour les graphics (creer les elements complexes de la demo avec des elements bcp + simples et donc qui occupent bcp + d'espace)

  13. #13
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    pour la musique il utilisent de la modulation de frequence de base...
    en gros tu prend plusieurs channels et tu leurs envoie des fonctions mathematique genre (je presise bien "genre") cos sin et autre, appres il te rest juste a determiner la frequence que tu veut => faible pour des son graves => forte pour des sons aigues.
    encore une fois ce n'est qu'un exemple, j'ai vu une demo ou il y avait de la voie donc stockages d'info plus complexes...
    sinon pour generer une texture de brique ce n'est pas dur il suffit de crée une texture rouge, de tracer un trait au centre de la hauteur et 2 trait dans les demi largeure, un au premier tier, le deuxieme au deuxieme tiers, ensuite la repetition de texture fait le reste, tu passe par dessus un algo pour bruiter (ajouter du "bruit") la texture et voila...

    Qand je dit qu'il generent des truc mathematiquement je veut dire qu'il utilise des fonctione mathematique mais le reste c'est souvent de l'algorithmique asser simple dans le principe.
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  14. #14
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    ça doit etre vachement interressant tout ça
    Personne a des liens vers des démos dans ce genre avec des sources ?

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    dans le meme genre de compression assez hallucinante, tu peux telecharger un fps: kkrieger sur http://www.theprodukkt.com/ . Ils utilisent aussi des generation de textures et sons.

Discussions similaires

  1. Outils demomaking dispo sur le forum
    Par waste dans le forum Outils
    Réponses: 6
    Dernier message: 25/01/2013, 18h01
  2. demomakes graphiques pixel: quoi utiliser ?
    Par idmapria dans le forum Développement 2D, 3D et Jeux
    Réponses: 26
    Dernier message: 13/03/2012, 06h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo