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 __caffeine__ . Évalué à 5.
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 Jux (site web personnel) . Évalué à 4.
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 Stephane Marchesin (site web personnel) . Évalué à 2.
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 Jux (site web personnel) . Évalué à 1.
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 Meister . Évalué à 1.
[^] # Re: Linux et OpenGL : où en est-on ?
Posté par eJah . Évalué à 2.
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 Meister . Évalué à 3.
[^] # Re: Linux et OpenGL : où en est-on ?
Posté par Jux (site web personnel) . Évalué à 2.
[^] # Re: Linux et OpenGL : où en est-on ?
Posté par Meister . Évalué à -3.
# Re: Linux et OpenGL : où en est-on ?
Posté par Prae . Évalué à 3.
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 manchot . Évalué à 5.
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 Olivier Serve (site web personnel) . Évalué à 1.
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 Prae . Évalué à 1.
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 Alexandre Boeglin . Évalué à -1.
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 Mathieu Malaterre (site web personnel) . Évalué à 6.
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 vrm (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.