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

3D Java Discussion :

Apprendre java3d a-t-il un sens?


Sujet :

3D Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 41
    Par défaut Apprendre java3d a-t-il un sens?
    Bonjour,

    encore une fois, je ne suis pas sur de poster dans le bon forum (à mon souvenir, il en existait un pour la 3d en java, mais je n'arrives plus à mettre la souris dessus).

    Je suis passionné par la programmation, mais je ne suis pas un programmeur très expérimenté. En java, je suis un débutant (nettement).

    J'ai lu quelques articles sur les bindings OpenGL et les scénographes et je me pose la question suivante.

    Le but étant de parvenir à maîtriser des bindings comme LWJGL (à ce que j'ai compris, plus difficile à manier que JOGL mais plus performant), pensez vous qu'il est utile de passer par un apprentissage de JOGL? ou y a t il vraiment aucun rapport entre les deux, et passer par l'apprentissage des deux revient à apprendre 2 choses totalement séparées?

    De même, des connaissances en java3d peuvent-elles être utiles pour aller plus loin, vers JOGL, LWJGL et des moteurs comme JMonkeyEngine (j'ai entendu que java3d était assez mal adapté aux jeux vidéos, mais cela fait-il parti du cursus qu'un apprenti 3diste doit faire?)

    Je pose la question parce que de ce que j'ai pu dénicher, LWJGL semble difficile d'accès pour un néophyte comme moi... mais j'aimerais vraiment y arriver un jour....

    Je suis un parfait débutant en 3d, mais j'aimerais à terme de mon apprentissage être capable de maîtriser la 3d en java de manière assez poussée, pour par exemple, créer des jeux du niveau de TribalTroubles, que vous connaissez surement.

    Merci d'avance pour vos avis...

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    salut,

    si tu es débutant en 3D, il vaut mieux avoir l'approche inverse AMHA.
    C'est à dire commencer par un framework de plus haut niveau pour bien maîtriser les bases (typiquement un scénographe comme JMonkeyEngine) avant de descendre dans les frameworks plus bas-niveau le jour où tu te sentiras limité par les possibilités de ton scénographe.

    En effet, tant qu'une librairie de haut niveau répond à l'ensemble de tes besoins, quel est l'intérêt de vouloir programmer avec une lib bas-niveau si ce n'est perdre du temps à réinventer la roue (probablement en moins bien) ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 41
    Par défaut
    je ne veux pas réinventer la roue j'ai déjà appris à mes dépends que c'est une mauvaise idée. Cela dit, ne doit on pas avoir des notions en LWJGL pour être à l'aise avec un moteur comme JMonkeyEngine, qui me semble t il, ne travaille pas encore avec JOGL?

    Aussi, j'ai démarré avec quelques tuto ets cours sur java3d. Déjà, ces sujets, comme les scènographes et leur utilisation est difficile pour moi. La question serait peut être alors: est ce une bonne idée de commencer par comprendre les mécanismes de java3d si on veut se diriger plus tard vers quelque chose d'un peu plus puissant, comme JMonkeyEngine? Y a t il un meilleur choix à faire pour mon apprentissage?

  4. #4
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par fredu Voir le message
    je ne veux pas réinventer la roue j'ai déjà appris à mes dépends que c'est une mauvaise idée. Cela dit, ne doit on pas avoir des notions en LWJGL pour être à l'aise avec un moteur comme JMonkeyEngine, qui me semble t il, ne travaille pas encore avec JOGL?
    Un framework de plus haut niveau comme JMonkeyEngine a justement pour but de te masquer la complexité d'une librairie de plus bas niveau comme LWJGL ou JOGL.
    Tu vas par exemple directement:

    - pouvoir importer des objets dans les format 3D les plus courants (3DS, ...)

    - gérer les déplacements de caméra comme si c'était un objet dans la scène (plutôt que tripatouiller de la matrice)

    - ne pas t'embêter avec des problématiques comme les BSP pour sélectionner les objets qui doivent être rendus (et laisser tomber ceux hors du champ de vision)

    - ne pas avoir à gérer le framerate et les animations temporelles à la main

    - etc...

    En ce sens, tu vas te concentrer sur la finalité (j'ai modelé un objet depuis Blender, je veux facilement l'importer dans ma scène et le faire se déplacer en suivant la souris. Tu gagneras énormément de temps.

    Même si ton scénographe te facilitera déjà beaucoup la vie, ça n'empêchera pas que tu auras déjà des tonnes de choses à apprendre !

    De plus, un scénographe x et un scénographe y se ressemblent forcément beaucoup. Donc que tu commences à apprendre avec x ou y, rien ne t'empêchera ensutie de migrer plus tard vers un 'concurrent' : 90% des connaissances que tu auras acquises resteront valables ; seuls quelques 'détails' (nom exact des fonctions, ...) changeront.

    Dans quelques années, quand tu maîtriseras l'immense majorité des fonctionnalités proposées par les scénographes, il sera toujours temps de commencer à vouloir comprendre "comment ça marche à l'intérieur". A ce moment là, tu pourras commencer à t'interesser aux différentes technos plus bas niveau (JOGL, LWGL etc...).

    A lire aussi :
    - Tutoriels pour apprendre Java : http://java.developpez.com/cours/
    - Le cours Java de jmdoudou : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 41
    Par défaut
    ok ok. Je te remercie pour ta réponse complète. Ca me soulage beaucoup de savoir ce que j'ai à faire de manière concrète.

    Je me lance joyeusement!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Par défaut
    Sinon LWJGL et JOGL c'est la même chose ce sont deux bindings pour opengl pour te faciliter la vie en java afin de faire appel aux fonctions openGl.

    Donc utiliser l'un ou l'autre a peu de différence , ce sont principalement les noms de fonctions qui changent. Lwjgl ajoute en plus la gestion du son et gère openGL 3.0 , alors que jogl pas encore.

  7. #7
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    pour moi je choisie toujour l'API ayant le plus de documentation

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Elendhil Voir le message
    Sinon LWJGL et JOGL c'est la même chose ce sont deux bindings pour opengl pour te faciliter la vie en java afin de faire appel aux fonctions openGl.

    Donc utiliser l'un ou l'autre a peu de différence , ce sont principalement les noms de fonctions qui changent. Lwjgl ajoute en plus la gestion du son et gère openGL 3.0 , alors que jogl pas encore.
    JOGL 2.0 gère OpenGL 3.0 et même 3.1. JOGL et LWJGL ne réagissent pas tout à fait de la même façon en fonction de la plateforme. J'ai eu pas mal de problèmes (dont certains ne sont toujours pas résolus) avec LWJGL sous Linux (écran noir, barre des tâches brouillée, ...) et des cas de plantage du pilote graphique sous Windows avec un chipset SiS. Je précise que ce ne sont pas des bogues des pilotes graphiques puisque JOGL marche très bien sur ces machines.

    Citation Envoyé par nouknouk Voir le message
    Dans quelques années, quand tu maîtriseras l'immense majorité des fonctionnalités proposées par les scénographes, il sera toujours temps de commencer à vouloir comprendre "comment ça marche à l'intérieur". A ce moment là, tu pourras commencer à t'interesser aux différentes technos plus bas niveau (JOGL, LWGL etc...).
    Quand ton joli scénographe ne fonctionne pas comme prévu, si tu ne maîtrises pas les concepts sous-jacents, tu te retrouves bloqué. Les moteurs 3D open source sont maintenus par des communautés de développeurs, il peut arriver que tu aies à mettre les mains dedans pour corriger des bogues comme je l'ai fait assez régulièrement pour JMonkeyEngine 2.0. Par conséquent, je recommande l'approche inverse c'est-à-dire commencer par les bases de la 3D avec JOGL (ou LWJGL si tu préfères) puis passer à un scénographe (Ardor3D, JMonkeyEngine 2.0, Xith3D, 3dzzd, JPCT, Expresso3D, Avengina,...) une fois qu'on se sent à l'aise. Certes, c'est plus difficile au début, ça demande de la motivation et une certaine patience mais c'est plus pédagogique et plus profitable à long terme.
    Dernière modification par Invité ; 14/09/2009 à 16h21.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. [java3D][collision]
    Par geofun dans le forum 3D
    Réponses: 7
    Dernier message: 12/02/2007, 14h49
  3. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 14h38
  4. Apprendre un langage Objet
    Par samyl dans le forum Débuter
    Réponses: 6
    Dernier message: 23/06/2003, 11h42
  5. je veux apprendre la programmation quel language choisir??
    Par existance dans le forum Débuter
    Réponses: 26
    Dernier message: 06/08/2002, 05h32

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