Os aplicativos que usam versões antigas do Opengl ainda podem ser executados em placas mais recentes?

8

O OpenGl 3.0 e superior têm uma diferença bastante grande em relação às versões anteriores, como o OpenGl 2.xe o opengl 1.x, em termos de implementação. Isso significa que aplicativos escritos com as versões antigas do opengl não serão executados em computadores com placas de vídeo suportando Opengl 3.xe para cima?

Desculpe, se este não é o lugar certo para perguntar isso.

Obrigado.

Stalker ka NOOB
fonte

Respostas:

2

Em resumo: o OpenGL 1.x ainda será suportado.

Teoricamente, é possível que alguém escreva uma implementação OpenGL que suporte apenas a versão 3.x e superior, mas o suporte a coisas mais antigas oferece uma variedade tão grande de aplicativos existentes que seria tolo não apoiá-lo.

Algumas partes do pipeline do OpenGL 1.x podem ser implementadas de maneira não ideal (ou seja, lenta), mas as coisas ainda funcionarão. Os drivers da ATI tornaram a escolha terrivelmente lenta em algum momento, provocando alterações no Blender, por exemplo.

No lado do OpenGL ES, as coisas são um pouco mais complicadas. Não conheço nenhuma instância, mas o ES 2.0 e a partir de então são tão diferentes do ES 1.x que é possível que alguns dispositivos não tenham suporte ao ES 1.x. Na maioria dos casos, o hardware ES2 + emulava o ES 1.x no software (gerando shaders dinamicamente e coisas divertidas assim).

Jari Komppa
fonte
3

Atualmente, nenhum driver removeu o suporte para versões anteriores do OpenGL. Além disso, a maioria também implementa a extensão de compatibilidade, o que significa que você pode misturar coisas antigas com contextos OpenGL 3.2+ (a exceção é o Mac OSX, onde apenas o perfil principal do OpenGL 3.2 está disponível - você ainda pode usar coisas antigas, mas não juntamente com coisas novas).

Tapio
fonte
11
Você está dizendo que o código glBegin..glEnd não será compilado no OSX moderno?
Jari Komppa
@JariKomppa, alterou minha resposta.
Tapio