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

Moteurs 3D Discussion :

Moteur 3D pour le web


Sujet :

Moteurs 3D

  1. #1
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut Moteur 3D pour le web
    Bonjour,

    Je suis actuellement en train de travailler sur la nouvelle technologie WebGL.

    Je cherche à développer un petit moteur 3D Javascript à l'aide de WebGL pour créer des sites web interactifs de manière simple et rapide.

    Ce moteur serait plutôt orienté objet mais je ne sais pas si Javascript le permet. En effet, il me semble qu'il n'est pas vraiment aisé de créer des classes en Javascript.

    Est ce que vous pensez que c'est une chose possible ?
    Que pensez vous de l'idée ?
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 576
    Points : 1 528
    Points
    1 528
    Par défaut
    Salut,

    Il existe spiderGL (http://spidergl.org/) comme moteur webGL, ça peut peut être t'aider.

    <troll>
    Après, ayant une sainte horreur du javascript, je dirais de manière totalement subjective qu'il est impossible de faire de l'objet proprement avec cette bouillasse immonde que certaines personnes osent appeler un langage. D'autant plus que le javascript est à la base un langage fonctionnel, pas du tout orienté objet.
    </troll>
    Mais bon, je dois avouer qu'on peu s'en sortir en utilisant des bibliothèques comme prototype qui permettent de simuler une sorte d'héritage/spécialisation.

    Après ton idée est tout à fait réalisable, d'autant plus que le webGL est une techno novatrice qui permet de faire facilement de la vrai 3D sur navigateur .
    La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry

  3. #3
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Oui Javascript est vraiment un langage moche mais pas le choix. ^^
    En fait mon idée serait de faire un mélange de OpenSceneGraph avec un CMS. Il y a déjà des travaux OSG sur la toile mais je ne veux pas faire de l'OCG pure.

    Il faudrait que j'établisse un diagramme de classe solide je crois avant de commencer.
    C'est vrai, il y a beaucoup de framework qui existent mais ceux ci ont été développé dans le but de faire des applications 3D sur le web comme des jeux. Ils ne créent pas vraiment une nouvelle interactivité sur le web (enfin si un peu quand même ^^).

    Moi je voyais un CMS WebGL par exemple
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  4. #4
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    En fait j'essaye d'établir un diagramme UML en utilisant OSG et le concept d'arbre, de graphe.
    J'aurais donc des classes Graphe, noeud ...
    De plus, je me sert de ca : http://loulou.developpez.com/tutoriels/moteur3d/

    Est ce que c'est une bonne idée d'utiliser ce tutoriel ?
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 576
    Points : 1 528
    Points
    1 528
    Par défaut
    J'ai regardé rapidement le tuto, il semble assez complet, voir un peu trop pour les capacités "limité" du javascript ^^

    Avant de te lancer dans une architecture avec des classes, des sous-classes, des singletons, des managers et autre, regarde un peu de quoi javascript est capable en implémentant un petit moteur "à l'arrache", un peu comme ça te vient. Je me suis déjà fait avoir en utilisant des patterns et des techniques c++/java difficilement implémentable en js.

    En gros, contente-toi de l'héritage simple, oublie les notions de protected (c'est soit du public, soit du private). Par contre, tu peux utiliser à fond tout ce qui est callback, "pointeur de fonction", etc... qui sont très facile à utiliser en js.

    La chose la plus important je pense est le concept de scene graph. Les ressources manager sont surtout là pour des raisons de perfs et de gestion mémoire (problème peu présent en js). Dans un premier temps, tu peux considérer que chaque objet possède ses ressources (textures, shaders, vertices, ...), quitte à charger 20 fois la même texture, tu fera les optims lorsque tu sera plus à l'aise.

    Voila, et bon courage
    La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry

  6. #6
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Merci pour tes réponses
    En fait, j'ai déjà développé une petite application WebGL et fait pas mal de tester pour évaluer cette nouvelle API. Elle est d'ailleurs assez puissante

    Je voyais les chose en 2 temps :
    1/ Définir les objets et les transformations de la scène
    2/ Définir les liens qui construisent l'arbre de la scène

    d'ou l'implémentation d'un arbre ou d'une pile je crois. ^^

    Exemple :

    Empiler T1
    Empiler T2
    Afficher O1
    Dépiler T2
    Empiler T3
    Afficher O2
    Dépiler T3
    Dépiler T1

    ou Tn sont les transformations et On les objets de la scène. Ici on a une pile.
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 576
    Points : 1 528
    Points
    1 528
    Par défaut
    En fait ta pile c'est un parcours en profondeur de ton arbre. Dans l'idée tu aurait quelque chose comme ça:

    parcours(noeud)
      si estFeuille(noeud)
        afficher(noeud) // tes feuilles sont des objets, donc tu peux les afficher
      sinon
        // les autres noeuds sont des transformations
        glPushMatrix()
        glMultMatrix(noeud.matrice)
        pour chaque fils F de noeud
          parcour(F)
        glPopmatrix()
    
    Pour lancer l'affichage de ton scene graph, tu appel parcours sur la racine de l'arbre.
    La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry

  8. #8
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Oui c'est pas faux ^^ je vais plutôt implémenter un parcours en profondeur.
    Là j'essaye de faire un début de diagramme de classe pour mon futur moteur 3D.
    Pas évident !!
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

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

Discussions similaires

  1. Votre langage de programmation serveur préféré pour le Web ?
    Par Marc Lussac dans le forum Général Conception Web
    Réponses: 82
    Dernier message: 18/02/2009, 17h50
  2. Moteur de recherche pour site web
    Par M1000 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 11/04/2008, 12h10
  3. Réponses: 5
    Dernier message: 23/08/2005, 07h47
  4. [eclipse 3.0.1]plugins pour dvlp web HTML / CSS / PHP
    Par partyboy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/10/2004, 11h46
  5. Créer un graphique en GIF sous DELPHI pour du web
    Par Thom@s dans le forum Web & réseau
    Réponses: 20
    Dernier message: 08/07/2004, 15h40

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