Conférence sur le moteur 3D "Ogre" le 12 novembre 2009

Posté par . Édité par Benoît Sibaud. Modéré par Bruno Michel.
Tags :
11
8
nov.
2009
Lug
La GUILDE, GUL de la région grenobloise organise le jeudi 12 novembre 2009 à 19h30 une conférence sur le thème du moteur 3D OGRE animée par Paul Cheyrou-Lagrèze, développeur principal de l'extension OgreBullet. Elle aura lieu dans les locaux de l'Ensimag sur le campus.

OGRE (Object-Oriented Graphics Rendering Engine) est un moteur 3D libre orienté scène qui permet à partir d'objets à facettes de réaliser un environnement 3D qui sera perçu par un rendu 2D au travers d'une caméra virtuelle. OGRE est une couche d'abstraction supplémentaire au dessus des APIs Direct3D et OpenGL, qui permet l'utilisation des cartes accélératrices 3D.

Ogre est en C++, très orienté objet, avec des motifs de conceptions, avec une documentation très complète, l'objectif principale (notamment lors des arbitrages d'évolution du code) étant la lisibilité et la maintenance du code avant tout, pour que l'utilisateur puisse profiter de toute la flexibilité du moteur 3D.

Ogre offre maintenant aussi l'abstraction de l'API OpenGL ES, donc tourne sur l'Iphone et les PocketPC puissants.
  • # Projets réalisés avec Ogre

    Posté par (page perso) . Évalué à 7.

    "un moteur 3D libre orienté scène qui permet à partir d'objets à facettes de réaliser un environnement 3D qui sera perçu par un rendu 2D au travers d'une caméra virtuelle"

    Houlala c'est pas simple tout ça :)

    Sinon, je postais surtout pour signaler qu'un Vrai Jeu (c'est à dire commercial avec des gens payés pour le faire) utilisant Ogre3D était sorti il y a quelques jours. Il s'agit de Torchlight, un Diablo-Like (réalisé par une partie de l'équipe de Diablo originale).

    Ça pavoise méchamment sur le forum de Ogre3D (et on les comprend), et un topic spécial consacré au sujet a été ouvert. Vous y trouverez les développeurs y répondant aux questions. Ils ne font pas du tout la promo du jeu, les questions/réponses sont vraiment intéressantes.

    http://www.ogre3d.org/forums/viewtopic.php?f=11&t=49496&(...)

    Admirez les screenshots.

    J'avais fait quelques essais avec Ogre3D, cela m'avait paru assez lourd.
    Après test de Torchlight sur une machine dans la moyenne (mon portable sous Linux avec carte graphique assez moyenne et Wine), me voila contraint de réviser mon jugement.

    Juste un regret à propos de Torchlight: ils ont utilisé Ogre3D, CEGui (avec une skin pour le jeu, c'est une bibliothèque pour faire des GUI), FMod (argl) et une bibliothèque de particule externe. A priori, tout ça se trouve sous Linux, mais il y a juste un build pour MS-Windows et MacOS-X. A noter que l'éditeur du jeu (voir les videos qui le décrivent sur youtube) a été réalisé en C# et ne sera donc dispo que sous MS-Windows (dixit les devs). Le portage Linux n'a pas l'air à l'ordre du jour :/

    N'oubliez pas non plus Irrlicht, qui est un moteur 3D passé OpenSource l'année dernière, et qui est bien plus léger que Ogre3D. Les méchantes langues disent qu'il est aussi beaucoup moins bien programmé. Je conseille à ces méchantes langues de lire les sources des exemples fournis avec Ogre3D :) (si vous aimez le préprocesseur, vous allez être servis).
    • [^] # Re: Projets réalisés avec Ogre

      Posté par (page perso) . Évalué à 2.

      Le jeu à un prix correct en plus, interessant :)
    • [^] # Re: Projets réalisés avec Ogre

      Posté par (page perso) . Évalué à 3.

      Juste un regret à propos de Torchlight : (...) Le portage Linux n'a pas l'air à l'ordre du jour.

      Damned, je venais de regarder les captures d'écrans et le site officiel en me disant "voilà un nouveau moyen de rentabiliser ma machine pour jouer".

      Et là, déception.

      Merci tout de même d'avoir indiqué l'existence de la chose.
      • [^] # Re: Projets réalisés avec Ogre

        Posté par (page perso) . Évalué à 2.

        C'est même pire que ça. J'ai beau préférer les logiciels libres, j'utilise fréquemment wine pour jouer à quelques jeux que j'aime beaucoup et qui ne sont pas disponible sous linux ou freebsd, les deux seuls os qu'il me reste chez moi.

        Le soucis ici, c'est que leur jeux dispose d'un système destiné à favoriser les pirates par rapport aux joueurs honêtes, ils ont donc perdu une vente de plus car même si la démo m'a beaucoup plus, j'acheterais pas ce jeux.

        Le système en question favorise les pirates dans le sens ou, il cause pas aml de problème à des gens honêtes qui achêtent le jeux et qui veulent juste pour voir y jouer (et pas uniquement ceux qui veulent y jouer sous wine) alors que les pirates, avant même de lancer le jeux commencent par chercher un crack ou un nocd, savent ou le trouver, et on une version fonctionelle du jeux en moins de temps qu'il ne m'en faut pour installer le jeux.

        C'est pas les premiers à perdre mon argent pour ce genre de conneries, et, hélas, j'ai bien peur que ce ne soient pas les derniers.
    • [^] # Re: Projets réalisés avec Ogre

      Posté par . Évalué à 0.

      Et IDTech 4??? pas de nouvelles?
    • [^] # Re: Projets réalisés avec Ogre

      Posté par . Évalué à 2.

      Mais qu'est-ce que tu veux dire par « léger » ou « lourd » ??!
    • [^] # Re: Projets réalisés avec Ogre

      Posté par . Évalué à 1.

      Pour l'avoir essayé, et bien que ce ne soit pas mon style de jeu habituel, je peux confirmer qu'il est fort sympathique, graphismes comme gameplay.
      • [^] # Re: Projets réalisés avec Ogre

        Posté par . Évalué à 3.

        Oui le jeux est très sympa, un peut comme un rogue like, mais en plus simple sans le tour par tour et avec des beaux graphismes 3D.
    • [^] # Re: Projets réalisés avec Ogre

      Posté par . Évalué à 2.

      Torchlight est loin d'être le premier «vrai» jeu fait avec Ogre3D. Deck13 l'utilise depuis quelques années pour toutes ses productions ! Ankh, Jack Keane et surtout Venetica, qui est beaucoup plus beau que Torchlight...
      Ogre3D a l'avantage d'être superbement documenté et d'avoir un code vraiment très très propre, mais les performances ne sont vraiment pas la...
      • [^] # Re: Projets réalisés avec Ogre

        Posté par (page perso) . Évalué à 2.

        Les performances ne sont vraiment pas la.

        Les moteurs 3D ne changent pas grand chose de ce coté-là, sauf à apporter des aides pour mieux utiliser la carte 3D, mais il ne peuvent pas optimiser ta 3D à ta place.

        Les performance vont surtout dépendre de comment tu utilise la carte 3D...

        Pour les performance 3D, il faut lire les papiers, livres et guides chez ATI/NVIDIA à propos des performances, (mots clés dans l'ordre: batch, DXT, Z-pass, etc.) malheureusement quasiment tous en Anglais.

        A lire pour optimiser un projet Ogre vite fait:

        http://www.ogre3d.org/wiki/index.php/Optimisation_checklist

        (le WIKI Ogre est par ailleurs une mine d'information)
        • [^] # Re: Projets réalisés avec Ogre

          Posté par (page perso) . Évalué à 2.

          Lire les papiers de ATI et NVIDIA sur les textures compressées, le stockage de données etc... ne sert à rien si on utilise un moteur 3D. C'est le moteur 3D qui s'occupe de la partie bas-niveau.

          Les performances vont surtout dépendre de la façon dont les données sont transmises
          au moteur 3D. Il faut lui transmettre les données de façon à ne pas le perturber, et bien respecter son cycle de rendu.
          • [^] # Re: Projets réalisés avec Ogre

            Posté par (page perso) . Évalué à 5.

            ... ne sert à rien si on utilise un moteur 3D. C'est le moteur 3D qui s'occupe de la partie bas-niveau.

            La manière dont sont fait les objets 3D et les textures par les artistes, le nombre d'objets à cette instant T et leur disposition, l'utilisation de transparence, etc. sont les facteurs principaux du temps de rendu et de très loin.

            Avec n'importe quel moteur 3D, il suffit de tester un rendu de 50 objets de 300 triangles avec 500 textures de 128x128 contre un rendu d'un objet de 15000 avec 1 texture de 2048x2048 en DXT pour le constater de visuellement. Visuellement c'est le même rendu, par contre au niveau performance c'est 50 fps pour le 1er cas contre 1500 fps dans le 2ème...

            Le moteur ne va ni modifier tes objets 3D, ni modifier des textures, ni les compresser à ta place...

            cycle de rendu.

            A moins que le moteur 3D fasse dans l'immediate rendering (a la opengl 1.X glbegin/glend, le moyen age de la 3D), il n'y a plus de cycle de rendu à respecter coté utilisateur, c'est automatique.

            Dans les moteur 3D modernes, le travail de rendu est indépendant de la façon dont la scène est décrite par l'utilisateur, puisque en deux temps :

            - On décrit la scène (positions des objet, des cameras) pour un instant T
            - Le moteur envoit les commandes pour le rendu de cette scène à un instant T.

            C'est ce qui permets des traitements basiques, (que font tous les moteurs 3D modernes) comme le tri des objets transparent selon la distance à la caméra, le groupement d'objet par textures, etc. Ces traitements sont indépendants de la façon dont les données sont transmises au moteur.
    • [^] # Re: Projets réalisés avec Ogre

      Posté par . Évalué à 2.

      Un autre regret : Parmi l'équipe de développeur, un seul s'occupe du port Linux. Et ce dernier semble avoir abandonné l'utilisation de SDL au profit d'OIS. Les sources sont toujours dans le svn mais l'option SDL a dégagé du ./configure. Dommage quand on maîtrise bien SDL et les nombreuses bibliothèques qui l'accompagne...
  • # Infos et liens complémentaires

    Posté par (page perso) . Évalué à 3.

    Ogre est en C++, très orienté objet, avec des motifs de conceptions, avec une documentation très complète, l'objectif principale (notamment lors des arbitrages d'évolution du code) étant la lisibilité et la maintenance du code avant tout, pour que l'utilisateur puisse profiter de toute la flexibilité du moteur 3D.

    Ogre offre maintenant aussi l'abstraction de l'API OpenGL ES, donc tourne sur l'Iphone et les PocketPC puissants.

    A voir la galerie : http://www.ogre3d.org/gallery/ (avec des Vrai Jeux, c'est à dire commercial avec des gens payés pour le faire...)

    Un site/wiki en francais sur Ogre avec beaucoup d'articles/didacticiels/liens sur la communauté Ogre Francophone: http://ogre3d.fr/wiki/Accueil

    Des projets open-source complets sous Linux à tester:
    - Rigs of Rods http://rigsofrods.com/ (Jeu de voitures)
    - Ultima Iris : http://ghoulsblade.schattenkind.net/iris/wiki/index.php/Main(...) (Client Ultima Online)
    - PlayerStage : http://sourceforge.net/projects/playerstage/ (Application de robotique)
    • [^] # Re: Infos et liens complémentaires

      Posté par (page perso) . Évalué à 3.

      N'hésite pas à faire une dépêche quand tu veux, que ce soit à l'occasion de la sortie d'un jeu qui fonctionne sous GNU/Linux ou d'une nouvelle version majeure de Ogre3D (la dernière 1.6.4 semble dater du 2 octobre d'après http://freshmeat.net/projects/ogre et la 1.6.0 avait fait l'objet d'une dépêche http://linuxfr.org/2008/11/16/24689.html il y a un an).

      J'ai rajouté quelques-unes de tes précisions à la dépêche, mais cela reste des "Infos locales" :-)
      'fin bon, faut trouver l'occasion d'en reparler quoi ;-) (ou faire un point sur l'état d'avancement d'un ensemble de jeux - libres idéalement - tournant sous GNU/Linux et utilisant le moteur).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.