OpenGL et moteurs 3D sur Amiga
-
Bonjour à tous et à toutes,
en surfant sur le web et en lisant le forum Amiga Impact,
je m’étonne toujours qu’il n’y ai pas d’implémentation de l’API OpenGL sur Amiga.
J’ai entendu parler de TinyGL qui est une implémentation soft un peu comme MESA (mais si j’ai bien compris moins complete) et qui doit tourner sur Amiga classic. Tout cela reste théorique puisque je n’ai pas vu d’appli 3D tourner avec (mais ca doit bien exister : Quake ?).
Mais qu’en est il de la progéniture Amiga (Pegasos et AOne). N’y a t’il pas une librairie OpenGL permettant d’utiliser de l’accélération 3D hardware ? Ca me parait pourtant possible avec le hardware utilisé.
Par ailleurs, existe t’il des moteurs 3D ou des scènes graphes développés ou en cours de développement/portage pour Amiga (classic, AOne ou Pegasos) ?
MiniGL (warp3D) et TinyGl sont des implémentations, certes incompléte, d’OpenGL. (tres tres incompléte pour miniGL)
TinyGL n’est pas qu’une implémentation software, sur MorphOS il utilise les chips voodoo 3,4 ainsi que permedia2.
Bientôt (enfin un jour), les radeon et voodoo5 seront supportés.
En ce qui concerne les moteurs 3D, Fab à porté il y a peu une ebauche de crystal space, le fameux moteur 3D open source, toujours sur MorphOS.
il existe des ports de Quake2 et Quake1 utilisant sur Amiga MiniGL et sur Pegasos TinyGL en rendu hard.
shogo, quake1&2, Wipeout2097, heretic2, un taz de shareware et freeware, de nombreuse demos utilisent, sur Amiga et Pegasos un rendu hard depuis un bon moment
ou etais-tu ces 5 dernieres années ?
a+
Euh… Ces 5 dernières années, ben sur PC … voyons (quelle question !)
En fait je ne connais le monde d’AOne et de Pegasos depuis peu.
J’ai abandonné mon Amiga favori vers 1997/98 et avec UAE j’ai le plaisir de redécouvrir certaines applications et même le contenu complet de mon Amiga 1200 overboosté.
Trop bon cet UAE !
J’aimerai bien voir un Pegasos ou un AOne tourner un jour…
Sinon, pour revenir à OpenGL, tous les jeux que tu cites sont quand même assez vieillots [enfin Quake c’est moi qui l’ai cité en premier] (Quake : 1997, Quake 2 ??? je ne sais plus). Je pensais l’AOne et le Pega capables de mieux, mais c’est peut être une histoire de temps.
D’où mes questions précedentes (sans doute naïves mais je m’en excuse… Faut bien faire un come back progressif !).
TinyGL : je croyais que c’était que soft comme implementation. C’est donc devenu la lib OpenGL de réference ?
MiniGL : ca me dit quelque chose mais pour Palm… Mais et la version Amiga ?
Sinon Crystal Space j’ai eu l’occasion de l’essayer sur PC.
As tu une URL Amiga pour le tester (enfin pas pour moi car j’ai pas de Pega/MorphOS…) Mais bon, je peux toujours aller voir la page par curiosité.
Sinon pour ceux qui ont envie de se lancer dans les moteurs 3D basé sur OpenGL, il y a de nombreux moteurs 3D qui valent le détour (et méritent le portage) :
Avec les URL c’est mieux
Amiga Payback demo : 68k et Pegasos (Warp3D ou non)
Par contre
Freespace je ne l’ai trouvé que pour 060 et Pegasos
et Shogo pour PowerPC sur amigaland.com
Pour voir des Pegasos et des AmigaOne, l’Alchimie se tient se week-end à côté de Valence.
Pour revenir à GL, TinyGL était au départ en rendu soft, obtenu par portage du TinyGL original de Fabrice Bellard. Pour MorphOS, il y a un TinyGL avec rendu hard (pour les cartes qui le supportent) via les pilotes Rave3D. Je suppose que l’auteur (Kiero) en est revenu à réécrire complètement TinyGL. Je ne sais pas si les fonctionnalités diffèrent. Je ne sais pas s’il y aura finalement un autre GL pour MorphOS, TinyGL étant mis en avant par rapport à la solution (JunGL) basée sur Mesa. Est-ce que le TinyGL actuel s’est enrichi pour devenir le JunGL annoncé ?
MiniGL utilise les pilotes Warp3D. Pour OS4, je ne sais pas du tout ce qui est prévu. Une implémentation d’OpenGL complète je crois mais où en sont-ils au niveau des pilotes 3D … je n’en sais rien (plus d’infos ce week-end ?).
Enfin, un mot sur Payback : dans un magazine sur les jeux sur consoles portables, ils parlent du portage de Payback sur GBA (bonne critique en plus) qui a enfin trouvé un éditeur et l’Amiga y est mentionné !
Lugu: si t’as pas un P4-4Ghz et une carte 3D à 1000 E laisse-tomber Payback… Ca plafonne à 10FPS sur mon Athlon1800+/Radeon7500… QuakeGL avait marché une fois par contre: depuis il plante
@Sas: Quake 2 a 6 ans. Quake1…Pour OS4, d’après ce que j’ai entendu, Warp3D marchait, avec accél hard ya qq temps (ils sont censés recompiler certains de leurs jeux pour OS4 au passage). La prochaine API 3D, nom de code « Nova » est censée supporter les vertex/pixel shaders,… Mais si elle sort un jour, ca sera pas ds le 1er OS4 de toutes façons: on aura le tps de la voir venir
@+,
Léo.
techniquement, je serais pas étonné de voir arriver les shaders, puisque on peut déjà mettre des radeon 9600 sur les nouvelles machines. La suite est une question de drivers, et justement la politique actuelle pour les langages de shader (GLSL, CG) est de mettre le compilateur dans le driver (les source shaders étant écrit en ASCII dans le code.) Cette technique permet l’abstraction absolue du hardware et du systeme, ce qui est bon point pour ‘l’alternatif’
Note: Le but des hardware-shaders est de délivrer à la carte graphique les derniers calculs qui devait etre fait par le processeur, en rendant le ‘pipeline’ de rendu programmable, alors qu’avant (OpenGL 1.x) il était statique. C’est donc maintenant le hardware coté CGX qui réalise les displacements sur les vertex de façon cablé, et de même on peut réécrire la routine d’affichage des pixels des polygones.
(laquelle est toujours exécuté en hard.)
Résultat: le Bus AGP (et le cpu) travaillent moins.
( Rumeur entendu a la slach5 par des personnes généralement bien renseigné: en fait on (nvidia,ati) s’aperçois
que le CPU ne sert plus à rien, et que la seule architecture des nouvelles cartes gfx (parallélisé a donf) fout sévérement la paté à l’architecture de la carte mere elle meme (avec son cpu qui n’execute que du iteratif) à tout les niveau puissance,multitache…) Bref se trame un Hold-Up complet de la machine par les cartegfx visant à virer tout le reste lequel à déjà commencé, par des bout d’api windows mi en hard dans les cartes nvidia parait-il. )
Dire que MiniGL est « très, très incomplet » me semble exagéré, dans la mesure où il contient tout ce qu’il faut pour faire.. de la 3D..
Il manque les display lists, mais il y a par contre les vertex arrays qui, je pense, les remplacent sans problème.
Il manque les lights.
Il manque bien sûr les pixel et vertex shaders et la plupart des extensions « récentes », mais ce n’est pas une surprise.
Après, je vais pas dire que c’est parfait. Il y a des bugs, et j’ai passé beaucoup de temps à me battre contre.
krabob a écrit :
techniquement, je serais pas étonné de voir arriver les shaders, puisque on peut déjà mettre des radeon 9600
Les shaders sont déjà disponibles sur les 8000, hein. Pas les shaders 2.0, mais les shaders quand même.
sur les nouvelles machines. La suite est une question de drivers, et justement la politique actuelle pour les langages de shader (GLSL, CG) est de mettre le compilateur dans le driver (les source shaders étant écrit en ASCII dans le code.) Cette technique permet l’abstraction absolue du hardware et du systeme, ce qui est bon point pour ‘l’alternatif’
Oui, mais à condition d’avoir les specs de la carte. En ce moment c’est pas gagné.
Note: Le but des hardware-shaders est de délivrer à la carte graphique les derniers calculs qui devait etre fait par le processeur, en rendant le ‘pipeline’ de rendu programmable, alors qu’avant (OpenGL 1.x) il était statique. C’est donc maintenant le hardware coté CGX qui réalise les displacements sur les vertex de façon cablé, et de même on peut réécrire la routine d’affichage des pixels des polygones.
(laquelle est toujours exécuté en hard.)
Résultat: le Bus AGP (et le cpu) travaillent moins.
Les shaders ne délivrent pas le processeur. Les transformations étaient déjà fait par la cg depuis les premières geforce/radeon. La différence c’est que maintenant c’est programmable et donc plus câblé, et qu’on peut faire ce qu’on veut, (déformations, vertex skinning, bump amélioré, effets divers et variés) qui n’étaient pas possibles en passant par le pipeline fixe.
( Rumeur entendu a la slach5 par des personnes généralement bien renseigné: en fait on (nvidia,ati) s’aperçois
que le CPU ne sert plus à rien, et que la seule architecture des nouvelles cartes gfx (parallélisé a donf) fout sévérement la paté à l’architecture de la carte mere elle meme (avec son cpu qui n’execute que du iteratif) à tout les niveau puissance,multitache…) Bref se trame un Hold-Up complet de la machine par les cartegfx visant à virer tout le reste lequel à déjà commencé, par des bout d’api windows mi en hard dans les cartes nvidia parait-il. )
Mwé. Les GPU ont quand même une architecture moins générique que les CPU. Maintenant en termes de puissance brute, je veux bien le croire.
Lugu: si t’as pas un P4-4Ghz et une carte 3D à 1000 E laisse-tomber
C’est bien ca que j’ai, c’est même un P8 10GHz avec une carte 3D à 5000€… Quoi pas vous ???
Bon, OK j’ai compris je supprime Payback.
Drivers 3D
La suite est une question de drivers, et justement la politique actuelle pour les langages de shader (GLSL, CG) est de mettre le compilateur dans le driver (les source shaders étant écrit en ASCII dans le code.)
Tiens, je me pose une question de néophite.
Qui a fait les drivers des cartes graphiques sur Pegasos/MorphOS ? ATI ? (m’étonnerais mais bon) ?
Car dans la page des download je n’y vois que des drivers pour Windows, MacOS ou bien Linux…
Et comme tu le dis, sans drivers, les pixels shaders ca parait difficile…
A moins d’être un super hacker ca me parait balaise.
En plus pour avoir toutes les nouveautés des prochains GPU ca me parait chaud.
Tiens pour ceux que ca interesse les specs d’OpenGL 2.0 sont enfin sorties (à quand les GPU qui vont avec ?).
Rave3D
Sinon Rave3D c’est quoi ? Le fameux driver gfx MorphOS ?
MiniGL
Il manque les display lists, mais il y a par contre les vertex arrays qui, je pense, les remplacent sans problème.
Il manque les lights.
Il manque bien sûr les pixel et vertex shaders et la plupart des extensions « récentes », mais ce n’est pas une surprise.
Tiens c’est bizarre ça. Ils ont implémenté les VBO directement à la place ?
CPU vs GPU
C’est vrai que le GPU fait de plus en plus de boulot, mais le bon y’a quand même encore bien besoin du CPU.
Pour preuve sur PC j’avais upgradé ma carte de NVIDIA GeForce2 à ATI 9700Pro. Sur certaines applis/jeux 3D c’était vachement mieux, par contre sur Unreal 2 bof bof !!! Du coup j’ai du aussi investir dans un nouveau CPU.
En fait il faut un équilibre entre les 2 pour que le CPU ne ralentisse pas le GPU et inversement.
Bouts d’API Windows dans les GPU NVIDIA
des bout d’api windows mi en hard dans les cartes nvidia parait-il.
ah bon ??? Lesquelles ?
Support OpenGL sur Amiga
Sinon je resume ce que vous avez dit pour le support OpenGL sur Amiga voir si j’ai tout compris :
-68k : soft bien sur, avec TinyGL de F.Bellard ou MiniGL
-MorphOS : hardware avec warp3D ou TinyGL+ de Kiero et aussi soft avec les même que sur 68k + JunGL basé sur Mesa (marche sur 68k celui là ?)
Et support des vertex shaders dans warp3D ?
-OS4 utilisera Warp3D, puis Nova qui devrait supporter les pixel/vertex shaders.
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › OpenGL et moteurs 3D sur Amiga