Nouvelle démo Raydium : Volcano !

Voilà le résultat de quelques heures de boulot … Le but était de faire une petite démo technologique de Raydium exploitant des shaders et le moteur de particules. Je pense ce but est atteint.

Et le lien pour la vidéo (clic-droit, "enregistrer sous", si ça ne marche pas).

Bon ok, le son est assez étrange (l’encodage y est pour beaucoup) et les réactions des rochers dans l’eau ne sont pas parfaites … mais pour le reste, je suis plutôt content !


Publié

dans

par

Étiquettes :

Commentaires

18 réponses à “Nouvelle démo Raydium : Volcano !”

  1. Avatar de __MaX__
    __MaX__

    C’est plutôt bon… je dois t’avouer que j’aime pas trop l’eau, la normale est pas suffisamment réaliste. La spec et la refraction est très bonne par contre. Les boules de lave, j’aurais un poil plus enveloppé le modèle pour donner plus de cohérence à "la pierre de lave" et pas mal de particules en plus pour la queue.

    Mais c’est du bon 🙂

  2. Avatar de Dabou
    Dabou

    quelques conseils:
    – laisse vivre les particules de fumée un peu plus longtemps et augmente de beaucoup la taille finale de ces particules (c’est un volcan, pas une cigarette)
    – fais tourner la texture des particules sur elle même
    – rajoute une source de fumée sur les projectiles, le résultat rend pas mal (sauf si le framerate est faible)

  3. Avatar de NecroDragon
    NecroDragon

    Avis d’un néophyte : Sympathique, j’aimerai bien faire pareil avec mon cerveau de jeune con…

  4. Avatar de God.Ass
    God.Ass

    Je ne sais pas ce que peux te(/nous) proposer Xfennec, mais tu peux commencer par lire ça. Si bien sûr tu as déjà les bases en C.

  5. Avatar de NecroDragon
    NecroDragon

    1 an et demi de C à l’école (pointeurs, malloc, structures, arbres…)
    Merci pour le tuto !

  6. Avatar de Xfennec
    Xfennec

    Si le développement 3D t’intéresse, en ce qui concerne OpenGL, la référence reste NeHe et le bouquin officiel de la ref qui est quasi obligatoire pour se faire de bonnes bases au début. Il existe des versions plus anciennes mais gratuites au format PDF/HTML de ce bouquin un peu partout, cf OpenGL.org (OpenGL 1.2 suffit largement au début).

    Sinon, utilise un moteur 3D déjà existant, ca permet d’arriver assez vite à un résultat (Ogre, Crystal Space, Irrlicht … ou Raydium bien sûr ! 🙂

  7. Avatar de NecroDragon
    NecroDragon

    J’avais déjà entendu parler de NeHe, mais le fait que ça soit en anglais me rebute un peu (certes, c’est pas un souci infranchissable, mais pour attaquer un truc aussi "complexe" que de la 3D, j’préfère commencer par des trucs en français)

    Pour les moteurs 3D, j’avais déjà bien regardé du coté d’Ogre3D (les screenshots/démos sont alléchants pour la qualité graphique), mais je préfère me faire un peu la main sur du bas niveau, attaquer direct par du haut niveau me parait une mauvaise idée niveau pédagogie…

    Bon là, en regardant un peu du coté d’openGL, j’suis retombé sur le site du zéro qui conseille de regarder un peu la SDL avant, donc j’vais commencer par ça un peu (puis comme ça, j’arreterais de passer par windows.h pour gérer mon clavier pour mes petits progs de n00b de 150 lignes)

  8. Avatar de Xfennec
    Xfennec

    "attaquer direct par du haut niveau me parait une mauvaise idée niveau pédagogie…"
    Bien au contraire. A priori, on commence par apprendre à se servir d’un PC avant de coder en assembleur … Commencer par les couches basses et tout gérer soit même permet d’apprendre plein de choses, mais elles ne sont en aucun cas utiles pour se servir de moteurs 3D. Et je sais de quoi je parle, Raydium ne se base sur aucune bibliothèque de haut niveau pour la partie I/O et 3D … Apprendre à charger une texture avec 5 niveaux de MipMaps dans le matos, c’est super intéressant, mais quand on sait que les moteurs te permettent de faire ça en une ligne sans te limiter …

    Non crois moi, le risque est plus de te dégouter en voyant à quel point tu es obligé de ramer pour faire tourner un cube 2 couleurs sans éclairage à l’écran qu’autre chose. Sans compter qu’écrire les couches basses d’abord pour écrire tout le reste ensuite (couches hautes et applications) nécessite que tu soit un développeur plutôt expérimenté et habitué à écrire et organiser de "grosses" applications. Sinon tu te retrouve vite à construire un chateau … sur du sâble.

    Mais après, que nous soyons bien d’accord : ça dépend de ce que tu cherches !

  9. Avatar de NecroDragon
    NecroDragon

    Si j’le savais moi-même…..
    En fait c’que j’vais faire, c’est faire les tutos sur la SDL vite fait, puis aller lire un coup le lien de God.Ass pour voir les bases d’openGL (parce que j’y connais RIEN à la 3D, et y a plein de mots compliqués à apprendre, en diner ça peut toujours impressionner…..) et puis après j’passerai à un moteur 3D

    Ce que je cherches, c’est d’avoir une base de connaissance dans ce domaine.
    Mon but final, c’est de réaliser un petit jeu en 3D (j’ai déjà le synopsis : "C’est un mec avec une épée, et il tue des gens"), mais j’suis carrément pas pressé…
    J’ai pas envie d’écrire un moteur moi-même (les maths à outrance, ça me rebute), mais j’aime bien savoir ce qu’il se passe en background quand je fais tourner quelque chose…

  10. Avatar de Xfennec
    Xfennec

    OK 🙂 Alors mon seul conseil c’est attention au découragement avec les couches basses.
    Au passage, le bouquin OpenGL dont je te parle plus haut donne toutes les bases et le vocabulaire pour bien commençer … C’est réellement un bouquin de référence pour commencer la 3D (avec OpenGL).

  11. Avatar de mst
    mst

    Ca donne vraiment bien.

    En voyant le volcan je me suis dit que ce serait peut être sympa si Raydium pouvait gérer les fichiers DEM (Digital Elevation Model). D’après ce que j’ai vu rapidement c’est un format simple, un convertisseur DEM vers le format de Raydium ne doit pas être la mort à coder. Je ne sais pas par contre au niveau perfs ce que ca pourrait donner.

    Ca permettrait d’utiliser les données disponibles par exemple Ici voir d’autres bien plus précises que l’on trouve un peu partout sur le net gratuitement et de les utiliser pour faire des maps ou autre.
    Et puis j’avoue aussi, je code depuis un moment des applis carto pour le web et je me dis qu’un raydium, du DEM et un mapserver ca peut nous faire un joli google map version libre que ca m’amuserait bien de faire pour apprendre à utiliser un moteur 3D.

  12. Avatar de Mathieu
    Mathieu

    Fuck le réalisme, l’eau est très bien comme ca !

  13. Avatar de Xfennec
    Xfennec

    mst: A une époque, je jouais beaucoup avec ça :


    Le problème que j’ai rencontré est effectivement un problème de perf, puisque dès qu’on souhaite travailler sur de très grands espaces, les algos de roaming deviennent nécessaires, et c’est une forme de spécialisation que j’ai du mal à imaginer dans Raydium lui même, en tant que moteur généraliste. Mais peut être que ça va me reprendre un jour et que je franchirais le cap, j’ai déjà une masse colossale de ressources sur ce sujet 🙂

  14. Avatar de MetalX
    MetalX

    Wow, si quelqu’un a un site avec des DEMs bien précis, je suis preneur…
    Sinon, très très belle démo, même si l’eau est un peu bizarre de près…

  15. Avatar de mst
    mst

    Excellent !

    Pour ce qui est des perf j’avais plutot l’idée de "tricher" en utilisant des DEM de differents niveaux de detail.
    Et biensur Raydium serait dans mon idée utilisé pour ce dont il a été conçu, gérer la 3D. Pour ce qui est des fonctions carto pures, autant le coupler avec un "geometry engine": Geos et pour générer les rasters à utiliser comme texture et les fonctions haut niveau Mapserver

    Pour MetalX, je n’ai pas de lien à te filer mais en cherchant un peu tu devrais trouver ton bonheur facilement, tant que tu ne cherches pas des données Françaises vérouillées de partout par l’IGN.

    EDIT: En fait après quelques recherches autant utiliser la norme WKT, avec geos et ce genre de methode ya moyen de se faciliter la vie et preserver les perfs.

    C’est bon, j’ai trouvé ma lecture à emmener en vacances. D’ailleurs sur le site de Raydium la doc en pdf date de septembre 2005, c’est toujours d’actualité ?

  16. Avatar de Xfennec
    Xfennec

    La doc date de la dernière version officielle de Raydium, c’est à dire pas mal. Je vais mettre ça à jour dans la journée.

  17. Avatar de KiCK
    KiCK

    ca manque de palmier :p

    En tout cas, bravo, entre ca et les blocs que tu as lisser, je pense que tu n’as pas trop trainé ces derniers temps. La flote, c’est juste un shader avec un .vert et un .frag ou c’set plus compilqué que ca?

    Maintenant que les shaders sont ok, tu prévois quoi pour raydium?

  18. Avatar de Xfennec
    Xfennec

    mst : J’ai placé une doc à jour : http://freeway.raydium.org/data/doc/RaydiumApiReference-SVN-408.pdf (le fichier n’est pas encore "mirroré", ça va prendre 30 minutes max). La doc de référence, c’est cool, mais les tutos et surtout le code source des démos c’est encore mieux pour commencer 🙂

    KiCK : Cf quelques articles plus bas : il faut faire 2 passes avant pour le rendu de la réflexion et de la réfraction. Mais après, les deux shaders, la Normal Map et la DUDV, et voilà. Pour la suite de Raydium, à court terme, je vais tenter de stabiliser certaines choses (HDR, réflexions et ombres dynamiques) et de terminer le portage win32 (manque le support des joy (+ retour de force) et de l’API Live (webcam, cartes TV, …) et de faire une jolie release (la dernière date d’un an). Pour le moyen terme, j’en sais foutre rien et c’est ce qui me plaît ! 🙂

    Sachant qu’a coté de ça, y’a beaucoup de boulot sur les applis Raydium (ManiaDrive, Test7, Fireworks et un projet dont je ne peux parler).

Laisser un commentaire