Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java] affichage d'un graphisme 3d

    30 décembre 2007 à 11:37:19

    Bonjour,
    je prépare un petit jeu, et j'aimerais savoir si afficher un graphisme en 3D se faisait de la meme façon que l'affichage d'une image 2D (c'est-à-dire avec ImageIcon)?
    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 14:02:23

      sous quel format il est ton graphisme ?

      si tu veux faire un jeu réelement en 3D tu doit utiliser autre une bibliotèque que AWT/Swing quii sont uniquement pour la 2D

      mais la 3D c'est tout un monde...

      au niveau des bibliotèques tu peux soit utiliser un scénographe, soit un binding opengl (ou directX mais uniquement sous windows)

      un scènographe est une bibilotèque de haut niveau, c'est à dire qu'il gère tout un tas d'opérations, comme la gestion de l'affichage, du rendu, des transformations,... Souvent il est construit en arboressance. enfin il te facilite la tâche dans pas mal d'opérations mais est en contrepartie plus gourmand en prossecus qu'un binding. A noter que ces bibliotèques usent aussi d'une API (openGL pour la plupart bien que Java3D, si mes souvenirs sont bons, implémente aussi Direct3D)
      -> on peut citer Javav3D ou Xith3D

      un binding, quand à lui, est une "implémentation" d'une API 3d (openGL ou Direct3D), qui utilise (si possible) une accélération matérielle de la carte graphique. C'est une bibliotèque de bas niveau, donc dont les fonctions se rapportent directement à une instruction native. Il permet des opérations plus poussées et est plus rapide, mais demande plus de travail.
      -> ici on a Lwjgl et JOGL

      personellement j'ai utilisé Java3D et jmaintenant j'utilise lwjgl.

      Si, comme tu le dis, tu désire réaliser un petit jeu, je te conseille un scènographe, sa évitera de te perdre dans toutes les opérations de gestions des collisions, clics de souris et autres blabla. Tu poura charger des objets 3d (3dsMax wavefront et autres)(que tu peu exporter de blender que tu peu avoir gratuitement) et la conception sera bien plus aisée. Tu n'aura sans doute pas une bête au niveaux graphiques, mais quelque chose de correct sans trop de soufrance. (Oui la qualité graphique des scénographes est moindre (bien que JMonkeyEngine peut donner de bons résultats à se que j'ai vu), cela peut s'expliquer par la non utilisation des shaders, du multitexturing,...).
      Par contre, si tu veux te lancer dans un projet plus important, tu peux tenter un binding. C'est une autre affaire... Mais étant donné que les fonctions java sont juste des appels aux fonctions natives du meme nom, tu aura beaucoup plus de documentation à ta disposition car les codes en C son assez semblables.

      pour finir voila des liens de tutoriels ou sources utiles :

      -Java3D
      un très bon tutoriel

      -lwjgl
      ici le site officiel, tu y trouve tout ce qu'il faut et qui difère des implémentations en C. Pour le reste il y est forcement sur le net.

      -NeHe
      Et voici le nouveau testament de l'openGL (Si tu connais l'anglais enfin), les tutos sont traduits en une 20ène de langagues, la plupart le sont pour Lwjgl et JoGL.


      enfin un bon tuto qui présente un peu tout et qui dit entre autres comment les installer
      Les API 3D pour Java

      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2008 à 14:54:00

        Merci beaucoup! Je souhaite en fait réaliser un jeu MMORPG sur internet. J'utiliserai donc une applet et unn scénographe. Mon graphisme est en VRML ça ne pose pas de problème j'espère? En tout cas merci infiniment!
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2008 à 20:04:22

          y a pas de quoi ;)

          tu a des dixaines de loader pour java3D sur le site de sun
          il y en a au moins 2 qui acceptent VRML

          donc pas de problème
          • Partager sur Facebook
          • Partager sur Twitter

          [Java] affichage d'un graphisme 3d

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown