Retro-Gamers, il forum del retrogaming! Partecipa al nostro forum e se hai qualche idea da proporre, contattami qui! >>>Ci trovi anche su Tapatalk!<<< Per i nuovi utenti, vi ricordo che prima di poter scrivere sul forum dovete presentarvi qui.

OpenGL nel retrogaming: Riflessioni

L'area dedicata ai messaggi in libertà
Avatar utente
Seiya
Messaggi: 127
Iscritto il: 22/04/2020, 14:36
Mi piace ricevuti: 2 volte

OpenGL nel retrogaming: Riflessioni

Messaggio da Seiya »

Prima parte:

E' una riflessione che voglio partire da lontano perchè prima di arrivare al nocciolo bisogna un po' vedere alcune cose.

Quando si parla OpenGL subito si pensa a Windows, Linux, OSX, schede grafiche di ultima generazione, RAM sempre più veloci per divertire un po' tutti quanti, ma nel retrogaming solitamente non sono richieste queste specifiche perchè i giochi non ne fanno uso e su hardware vintage non c'è abbastanza potenza per sfruttare questi API 3D.
Ci sono, tuttavia, una serie di schede vintage che sono da sempre disponibile un po' su tutti i sistemi usati dai fan dei vecchi giochi che bene o male supportano OpenGL, DirectX e altri formati specifici per Computer e Console.
Schede come l'S3 Virge, Il Vérité, l'M3D o le ben note Voodoo di 3DFX. Questo riflessione riguarda un po' più da vicino il mondo Amiga e PC anche se bisogna un po' scavare a fondo perchè è difficile fare comparazione per via dei sistemi operativi che usano e che sono totalmente differenti e alle volte incompatibile con queste API.
Su Amiga l'accelerazione 3D è basata sulle MiniGL di Warp3D che è di fatto una OpenGL incompleta, ma con abbastanza API per essere compatibile con tante schede video e anche fornire prestazioni e qualità migliori.
Le miniGL inizialmente furono create da 3DFX e che poi furono usate da tutti i programmatori soppiantando per molto tempo le OpenGL complete perchè non erano supportate dalle schede che c'erano e anche perchè permetteva più facilmente di creare giochi. Oggi le schede moderne supportano solo OpenGL completo.

Il retrogaming su PC è principalmente quello DOS e non esiste una miniGL per questo sistema operativo dato che i giochi che supportano l'accelerazione 3D sono compilati direttamente per sfruttarlo se presente in hardware. Alcuni giochi hanno un doppio eseguibile compilato per la scheda video come nel caso di Tomb Raider, mentre per altri all'interno delle opzioni c'è la possibilità di usare l'accelerazione 3D perchè è stato compilato in modo tale che se avete una scheda 3D il gioco la usa.
Con il DOS c'erano anche delle API proprietarie di 3DFX che sono le Glide che sfruttavano direttamente l'hardware senza bisogno di installare nessun driver come invece si doveva fare con Windows 95 e successivi. Quake era DOS, ma GLQuake non usava le glide, ma le MiniGL e richiedeva come minimo Windows 95.

Su Amiga Classic 68k c'erano solo le MiniGL in cui dovete installare Warp3D che a sua volta ha delle richieste hardware specifiche:
Almeno un processore con 68040 e 68060 con una FPU veloce dato per sfruttare l'accelerazione 3D le cui istruzioni sono in virgola mobile e una scheda grafica 2D e 3D. Su Amiga non si può ad esempio usare la Voodoo 1 o la Voodoo 2, ma dovete per forza avere una Voodoo 3 per rimanere con 3DFX e ovviamente non funziona con l'AGA o con gli altri vecchi chipset.
In pratica su Amiga dovete avere una Voodoo 3 per fare l'avvio del Workench usando la sua unità 2D e poi usare Warp3D per abilitare la sua unita 3D.
Ci sono altri problemi su Amiga per il fatto che dovete avere almeno un A1200 in un tower dato che le schede video compatibili Warp3D sono solo PCI (una voodoo3 PCI era già difficile trovare a suoi tempi dato che la maggior parte erano AGP). Su A1200 ci sono delle schede con slot PCI come la Mediator, la GRex, per citarne due che permettono l'uso di queste schede video. Se avete un PowerPC potete invece collegare direttamente una scheda video basata sul Permedia 2.
Con un A4000 qualche possibilità in più per usare la Cybervision64 3D ZorroIII su 68k, oppure collegare direttamente il Permedia 2 sulla scheda PowerPC.
Su Amiga dovete avere un A1200 con una scheda con slot PCI oppure un A2000/3000/4000 già con una dotazione hardware di tutto rispetto per poter sfruttare queste API.

un esempio di Warp3D sul mio ex Amiga 4000 con CyberstormPPC con 68040@25



Lato 68k purtroppo un 68040 anche se molto buono di una Cyberstorm non è abbastanza potente per sfruttare l'accelerazione 3D, ma in questo caso è dovuto al fatto che il Permedia 2 è una gpu molto più potente di una Voodoo e quindi decisamente dipendente dal processore. Anche con un 68060 sarebbe stato molto lento con una scheda video del genere.
Non ho video o foto, ma ho visto in azione un 68060@50 mhz su A1200 con Mediator e una Voodoo 3 PCI e le prestazioni molto basse. Diciamo che le aspettative da un acceleratore 3D come una Voodoo3 sono altissime e quindi poi ci si rimane molto male a vederla in azione anche su un 68060.

Amiga dal punto di vista MiniGL taglia un po' fuori il 68k perchè non ha la potenza necessaria per sfruttare l'accelerazione 3D e quindi tutto passa in mano ai PowerPC.
Amiga non ha delle API come le glide in grado di compilare un gioco per un acceleratore specifico, se non alcune rare eccezioni, come Heretic II (solo PowerPC) che è stato fortemente ottimizzato per il Virge della Cybvervision64 3D.
Ora come ora per chi ha un 68k e un acceleratore 3D PCI può giocare solo a GLQuake, Quake II, qualche demo e la diskmag "The Vague".



Avatar utente
Seiya
Messaggi: 127
Iscritto il: 22/04/2020, 14:36
Mi piace ricevuti: 2 volte

Re: OpenGL nel retrogaming: Riflessioni

Messaggio da Seiya »

Seconda parte: giochi vintage accelerati in 3D per Amiga e DOS

Dato che l'accelerazione 3D per i due sistemi usa un approccio totalmente diverso, Warp3D dovrebbe essere messo in paragone con Direct3D e quindi Windows 9x VS. Workbench 3.x.
Sotto DOS i pochissimi giochi che usa l'accelerazione 3D sono principalmente quelli che usano le glide e qualcuno è anche compatibile con il Virge.

DOS glide:
Camargeddon
Descent 2
Extreme Assault
JetFighter: Fullburn
JetFighter III
Nira
Pyl
Tomb Raider
Screamer 2


DOS Virge:
Tomb Raider

Tomb Raider è uno dei pochissimi titoli ad essere fortemente ottimizzato anche per le schede ATI con il chip 3D Rage Pro, ma solo da Windows 95; supporta le due Mystique con 2 e 4 MB da DOS; il PowerVR attraverso la scheda Matrox M3D; anche il Verité è supportato via DOS.

Immagine Immagine Immagine Immagine Immagine



Su Amiga c'è solo un gioco 68k che sembra avere accesso direttamente al chip 3D ed è Descent che sfrutta il Virge se presente. Tutti gli altri invece richiedono Warp3D. In realtà però non è molto chiaro se l'accelerazione del Virge di Descent è diretta oppure richiede Warp3D. Potrebbe essere uno dei pochi ad essere ottimizzato per questa unità senza passare per le miniGL.

MiniGL 68k:
Quake

Virge:
Descent

In rete trovate video di GLQuake per Amiga con 68060 a 66 e 75 Mhz dove in effetti gira bene, ma un 68060 a 66 e 75 Mhz sono molto più veloci di un 50 Mhz. Un 66 Mhz comparato ai 50 sembra poco, ma le prestazioni sono molto più elevate di quanto questo incremento sembra essere. Quando è uscito Warp3D i 68060 erano a 50 Mhz e basta e non tutti erano overcloccabili.
GLQuake io l'ho visto su una Blizzard 1260@50 Mhz con Mediator e Voodoo 3, ma un sistema poco ottimizzato perchè c'era il 3.9 che impediva di usare delle patch che lo 060 deve usare per forza e GLQuake in 640x480 faceva 13 fps. troppo pochi.

Dato che, come già detto, Warp3D usa le MiniGL e queste su PC sono usate solo da Windows il confronto per quantità di titoli supportati è impietoso.



Avatar utente
Seiya
Messaggi: 127
Iscritto il: 22/04/2020, 14:36
Mi piace ricevuti: 2 volte

Re: OpenGL nel retrogaming: Riflessioni

Messaggio da Seiya »

Oggi i giochi MiniGL per Amiga 68k sono disponibili quindi in due modi:

Scheda video 3D con Warp3D su un computer reale
Emulazione con il Wrapper Wazp3D che dalla beta 48 supporta il rendering hardware anche se in realtà è un discorso che può confondere perchè rendering hardware non significa che usa la vostra scheda video attaccata al PC. Si tratta sempre di emulazione.

GLQquake con Wazp3D e Hardare rendering (impostato dalle preferenze del wrapper)
Immagine

GLQuake con Wazp3D e Software rendering
Immagine

Stessa cosa con tutte le demo mesa e Warp3D. Il risultato non cambia



Avatar utente
Seiya
Messaggi: 127
Iscritto il: 22/04/2020, 14:36
Mi piace ricevuti: 2 volte

Re: OpenGL nel retrogaming: Riflessioni

Messaggio da Seiya »

Sotto DOS ci sono giochi che sfruttavano l'accelerazione diretta delle glide di 3DFX, di S3 e altri acceleratori, ma purtroppo è veramente arduo trovare demo e benchmark come ci sono su Amiga con Mesa3D e Warp3D.