Journal Linux et OpenGL : où en est-on ?

Posté par .
Tags : aucun
0
11
mar.
2004
Bronsoir (rhaa non ! pas encore lui !),

dans mon activité de VRP des logiciels libres, je n'ai jamais eu de "client" aussi difficile à convaincre de passer sous Linux qu'un copain qui fait du développement OpenGL sous Delphi et Windows 2000.

Au vu des news qui passent sur linuxfr, j'ai l'impression que Linux est une bonne plate-forme pour faire du développement OpenGL, mais je ne connais rien à la 3D donc j'ai vraiment du mal à juger...

Qu'en est-il exactement ? Le copain en question m'a parlé de OpenGL version 1.4, je crois, et sa carte graphique si j'ai bien compris est une Radeon 9800. En imaginant qu'il passe de Delphi à Kylix (il n'aime pas le C++), dans quelles conditions pourrait-il programmer de l'OpenGL ? Y a-t-il des problèmes de compatibilité avec les standards ? Qu'en est-il des derniers pilotes ATI dont on a annoncé aujourd'hui la sortie (http://linuxfr.org/~kikou/10320.html(...)) ? Pourriez-vous me donner des retours d'expérience de Kylix / OpenGL ? Quelqu'un parmi vous avec les mêmes besoins et satisfait de son passage sous Linux pourrait-il témoigner de son expérience ?

Que de questions, et si peu de réponses ! Quelle angoisse !
eu'l Bob
  • # Re: Linux et OpenGL : où en est-on ?

    Posté par . Évalué à 5.

    OpenGL et Linux, pas de problème, les pilotes ATI sont un peu pénibles à installer, mais c'est full compliant OpenGL 1.4 (1.3 pour les pilotes DRI qui eux sont libres).
    Le seul problème éventuel que je vois, c'est un compilateur libre pour vertex/pixel shaders. J'ai pas encore regardé ce qu'il en était, peut-être qu'ATI et nvidia proposent leurs outils...
    Niveau portabilité, s'il a pas trop de trucs spécifiques à win32 dans son code, ça devrait bien se passer.

    Pour info, sous linux il trouvera des brouettes de bindings OpenGL (python, LISP, ruby, perl...) L'occasion ou jamais d'essayer d'autres choses pour les curieux de la technique...
    • [^] # Re: Linux et OpenGL : où en est-on ?

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

      Des compilos pour vertex et pixel shaders ?
      En tout cas pour les vertex shaders, avec vertex_program_ARB, y'a pas besoin de compiler ... Maintenant, si c'est des vertex shaders d'OpenGL 2.0, alors on y est pas encore...

      Nan, mis à part ça, linux est aussi bien fournis que windows niveau opengl, y'a qu'a voir UT2003/2004, quake3 et les autres :-P
      • [^] # Re: Linux et OpenGL : où en est-on ?

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

        Des compilos pour vertex et pixel shaders ?
        En tout cas pour les vertex shaders, avec vertex_program_ARB, y'a pas besoin de compiler ...

        Si, c'est possible justement, et c'est meme recommandé pour des raisons de performances. En effet, les cartes graphiques se différencient de plus en plus et il y a donc des optimisations nécessaires à faire dépendant de ces cartes (surtout pour les pixels shaders, qui sont beaucoup plus sensible au type de carte graphique). Du coup, la tendance actuelle est de compiler de manière dynamique les pixels shaders à partir de routines de pseudo-C directement sur la machine cible.

        Maintenant, si c'est des vertex shaders d'OpenGL 2.0, alors on y est pas encore...
        Attention OpenGL 2.0 c'est aussi et surtout la généralisation des pixels shaders. Et quand on y sera à OpenGL 2.0, si on a pas de compilo de pixel shaders libre, ben on aura l'air fins, tiens...

        D'ailleurs, des compilos libres pour les shaders ça existe. Enfin à ma connaissance il y en a un seul, qui est la version 1.0 du compilateur de pixel shaders de nvidia (que nvidia a libéré ; il me semble que la licence est une BSD-like mais c'est à vérifier). Par contre les sources de versions 1.1 et 1.2 n'ont pas été distribuées et aucune initiative libre n'existe pour maintenir le compilateur 1.0 libre de nvidia. Le code ne m'a pas l'air impossible à maintenir, il fait dans les 20000 lignes.

        Et si on veut suivre la tendance, c'est-à-dire avoir une compilation dynamique des pixels shaders, il faut que la licence du compilateur suive la licence des programmes. De ce point de vue, un compilateur de pixel shaders libres serait une très bonne chose.
        • [^] # Re: Linux et OpenGL : où en est-on ?

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

          Il me semble que tu peux les compiler par OpenGL, avec une fonction genre CompileShaderARB (je ne sais plus le nom exact).
          Même pour OpenGL 2.0, ca sera intégré à OpenGL, donc ça sera "libre" (enfin nan, les constructeurs ne font pas de drivers libre, mais à par ça )
          Mais je n'ai jamais vu de shader OpenGL Standard compilés. (les shaders OpenGL standard, c'est proche de l'asm, mais avec des matrices)
          Ce qui est compilé, c'est le Cg de nvidia par exemple ou d'autres shaders _spécifiques_ à certaines cartes.

          Sinon, donnes-moi un lien vers un compilateur de shader (même s'il tourne sous windows).
  • # Re: Linux et OpenGL : où en est-on ?

    Posté par . Évalué à 1.

    Le probleme c'est pas la programmation en OpenGL (du C, du sdl et c'est parti). Le principal probleme que j'ai rencontré, c'est la création d'objets 3d pour un moteur. Blender c'est bof et difficile à maitriser.
    • [^] # Re: Linux et OpenGL : où en est-on ?

      Posté par . Évalué à 2.

      C'est quand la derniere fois que tu l'as teste ?

      Car les dernieres version sont quand meme bcp plus intuitives et utilisables que les autres....

      Et les performances/resultats aussi sont meilleurs.

      De plus, comme sous windows, il n'y a pas de softs gratuits pour faire de la 3D, donc je me permets de rappeler qu'il existe Maya pour linux ;)
      • [^] # Re: Linux et OpenGL : où en est-on ?

        Posté par . Évalué à 3.

        Il y a un soft de qualité et gratuit sous windows : gmax. Mais bon, y parait que c'est pas parfait puisque c'est pas libre.
        • [^] # Re: Linux et OpenGL : où en est-on ?

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

          Qui est, précisons-le, une version de 3dsMax allégée, faite _exprès_ pour la création de contenu pour des jeux vidéos/mods. (De toute façon, comme tout les modeleurs amateurs crackent 3dsmax, ça change pas grand chose :-P)
    • [^] # Re: Linux et OpenGL : où en est-on ?

      Posté par . Évalué à -3.

      J'ai exprimé mon avis, merci d'avoir moinsé. Ca fait chaud au coeur de savoir qu'il y a des défenseurs de Blender fleur au fusil
  • # Re: Linux et OpenGL : où en est-on ?

    Posté par . Évalué à 3.

    Sauf erreur de ma part, mais ton pote ne coderais t'il pas avec des clickodrome ou tu piques un morceau de code "et hop! ca me créer un workspace 3D, hop! clicka, ca me créer un mesh" etc...
    Mais bon, peut-etre que je me plante aussi ...
    Pour ma part, j'ai codé un peu en OpenGL ... je vois pas trop la diff ... vu que c'est une API _standard_ ... alors peut-etre parle-t-il aussi de DirectX ...
    • [^] # Re: Linux et OpenGL : où en est-on ?

      Posté par . Évalué à 5.

      "Sauf erreur de ma part, mais ton pote ne coderais t'il pas avec des clickodrome ou tu piques un morceau de code "et hop! ca me créer un workspace 3D, hop! clicka, ca me créer un mesh" etc...
      Mais bon, peut-etre que je me plante aussi ..."


      Delphi, c'est à mon avis le logiciel de RAD le mieux abouti. Non seulement en quelques clics de souris, tu crées une interface complète, mais en plus, tu n'as pas besoin de taper autre chose que le code nécessaire au programme. Comme tu le dis, avec Delphi, le code est réellement réutilisable. Bien souvent, il arrive que tu fasse du copier-coller à peine adapté, et c'est une force indéniable de ce genre de produits. Sans compter qu'il dispose d'un compilateur extrêmement rapide.

      Maintenant, si tu préfères réinventer la roue à chaque fonction et à chaque application, c'est ton problème hein :op

      Au fait, il a été démontré à maintes reprises que sur plate-forme Windows, Delphi générait un code aussi rapide que le C++, à peine plus volumineux, et surtout, dans un temps de développement bien moindre.

      A l'époque, il était donné comme exemple dans une revue de programmation un projet réalisé en 3 jours sous Delphi et en 1 mois en C++, à la fin, le code Delphi était un poil plus gros mais aussi rapide. De plus, l'interface faite sous Delphi était fonctionnelle et facilement modifiable, alors que celle du projet fait en C++ n'était pas très bien adapté et difficilement modifiable, comme quoi...

      Alors, si tu es chef de projet, tu choisis quoi ?

      Les avantages du typage fort du langage pascal sont très nombreux comparé au C/C++, ça évite de se prendre la tête sur les types de variables à chaque fonction/opération.

      Inutile de troller, Delphi a sa place parmis les logiciels de développement les plus performants sur plate-forme Windows, au mêem titre que le C++, chacun est adapaté à certains domaines.

      Je trouve que l'attitude typiquement linuxienne de dénigrer la souris et les programmes utilisant beaucoup la souris, est puérile au possible. Vous n'avez qu'à regretter l'époque des cartes perforées tant que vous y êtes !
      • [^] # Re: Linux et OpenGL : où en est-on ?

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

        Pour avoir tenté de reprendre un projet en Delphi 7 Pro, j'ai vite déchanté. Les chemins d'accès aux fichiers étaient écrits en dur dans la configuration du projet. :(
        Super pour reprendre ça sous Kylix !

        De plus, il manque des classes que je considère basiques comme des conteneurs. Tu as des tableaux et c'est tout. Tables de hachage ? Listes ? Collections ? connait pas.
        Alors tu dois chercher du code de personnes qui l'ont déjà fait, mais sans garantie sur la qualité du code. Il faudrait donc tester ces composants, mais nous n'avions pas le temps.
        C'est en grande partie ce manque de code réutilisable qui nous a fait changer de langage. Réutiliser du code, ce n'est pas faire du copier-coller, mais utiliser les mécanismes d'héritage et de polymorphisme de la POO et là c'est _propre_.

        Je ne dénigre pas les outils graphiques, et un éditeur graphique SWT ou Swing intégré à Eclipse (Java) serait très appréciable. Cependant, la dépendance forte vis-à-vis d'un outil donné me paraît dangereuse.

        Ceci dit, le Pascal est un excellent langage procédural avec lequel je me suis amusé pendant plus de 2 ans.
      • [^] # Re: Linux et OpenGL : où en est-on ?

        Posté par . Évalué à 1.

        Tu pars vite en live mon petit ...
        Mon commentaire pointait du doigt que ton pote tenait des propos incohérents, pas qu'il utilise Delphi ...
        Le code OpenGL est le même sur toute les plateformes ... pourquoi le code sous Linux serait-il plus dure ?! moins performant ?

        nan, le seul problème qu'a ton pote de passer de Windows à Linux c'est parce qu'il n'a pas son Delphi.

        Basta !
  • # Re: Linux et OpenGL : où en est-on ?

    Posté par . Évalué à -1.

    Perso, j'y connais presque rien, il est donc normal que je donne mon avis :

    Je ne sais plus où j'avais lu que le futur, c'est http://developer.nvidia.com/page/cg_main.html(...)

    en plus, ça à l'air libre :

    Copyright (c) 2002, NVIDIA Corporation.



    NVIDIA Corporation("NVIDIA") supplies this software to you in

    consideration of your agreement to the following terms, and your use,

    installation, modification or redistribution of this NVIDIA software

    constitutes acceptance of these terms. If you do not agree with these

    terms, please do not use, install, modify or redistribute this NVIDIA

    software.



    In consideration of your agreement to abide by the following terms, and

    subject to these terms, NVIDIA grants you a personal, non-exclusive

    license, under NVIDIA's copyrights in this original NVIDIA software (the

    "NVIDIA Software"), to use, reproduce, modify and redistribute the

    NVIDIA Software, with or without modifications, in source and/or binary

    forms; provided that if you redistribute the NVIDIA Software, you must

    retain the copyright notice of NVIDIA, this notice and the following

    text and disclaimers in all such redistributions of the NVIDIA Software.

    Neither the name, trademarks, service marks nor logos of NVIDIA

    Corporation may be used to endorse or promote products derived from the

    NVIDIA Software without specific prior written permission from NVIDIA.

    Except as expressly stated in this notice, no other rights or licenses

    express or implied, are granted by NVIDIA herein, including but not

    limited to any patent rights that may be infringed by your derivative

    works or by other works in which the NVIDIA Software may be

    incorporated. No hardware is licensed hereunder.



    THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT

    WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED,

    INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE,

    NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR

    ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER

    PRODUCTS.



    IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT,

    INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED

    TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY

    OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE

    NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT,

    TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF

    NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • # Re: Linux et OpenGL : où en est-on ?

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

    Tu peux lui repondre qu'il arrete de fumer des drogues aussi dures ca lui detruit ces cellules grises. Je bosse dans une petite société ou l'on edite VTK (surcouche au dessus d'OpenGL) et nos plus gros client sont sur stations Unix/ Cluster linux...

    voila les plateformes supportées:
    http://public.kitware.com/dashboard.php(...)

    Et linux n'est vraiment pas en reste!

    J'ai une ATI 9800 et les pilotes d'ATI sont tres bons. Un mecs d'ATI m'a meme donné quelques infos pour essayer de trouver un probleme dans valgrind + ATI libGL:

    http://bugs.kde.org/show_bug.cgi?id=74520(...)

    D'ailleurs il faut que je me remotive pour le finir.
  • # Re: Linux et OpenGL : où en est-on ?

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

    Je programme avec OpenGL et Java (qui-pu-et-qui-est-pas-libre) en utilisant LWJGL (www.lwjgl.org) et j'ai aucun problèmes avec ma carte NVidia(qui-pu-et-qui-est-pas-libre).

Suivre le flux des commentaires

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