Le applicazioni che usano le vecchie versioni di Opengl possono ancora funzionare su schede più recenti?


8

OpenGl 3.0 e versioni successive hanno una differenza abbastanza grande rispetto alle versioni precedenti come OpenGl 2.xe opengl 1.x in termini di implementazione, ciò significa che le applicazioni scritte con le vecchie versioni di opengl non funzioneranno su computer con schede video supportare Opengl 3.xe versioni successive?

Mi dispiace, se questo non è il posto giusto per chiedere questo.

Grazie.

Risposte:


2

In breve: OpenGL 1.x sarà comunque supportato.

È teoricamente possibile per qualcuno scrivere un'implementazione OpenGL che supporta solo 3.xe versioni successive, ma supportare le cose più vecchie ti dà una così vasta gamma di applicazioni esistenti che sarebbe sciocco non supportarlo.

Alcune parti della pipeline OpenGL 1.x possono essere implementate in modo non ottimale (cioè lento), ma le cose continueranno a funzionare. I driver ATI hanno reso la raccolta orribilmente lenta ad un certo punto, provocando cambiamenti in Blender, per esempio.

Sul lato OpenGL ES le cose sono un po 'più complicate. Non ne sono a conoscenza, ma ES 2.0 e successivi sono così diversi da ES 1.x che è possibile che alcuni dispositivi non supportino ES 1.x. Nella maggior parte dei casi, l'hardware ES2 + ha emulato ES 1.x nel software (generando shader al volo e cose divertenti del genere).


3

Attualmente nessun driver ha rimosso il supporto per le versioni precedenti di OpenGL. Inoltre, la maggior parte implementa anche l'estensione di compatibilità, il che significa che puoi mescolare cose vecchie con contesti OpenGL 3.2+ (l'eccezione è Mac OSX, dove è disponibile solo il profilo principale per OpenGL 3.2 - puoi comunque usare cose vecchie, ma non insieme a nuove cose).


1
Stai dicendo che il codice glBegin..glEnd non verrà compilato sul moderno OSX?
Jari Komppa,

@JariKomppa, ha modificato la mia risposta.
Tapio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.