Por que a Apple depreciou o OpenGL e o OpenCL?
Não é só a Apple. A Apple está apenas altamente motivada e controla sua plataforma o suficiente para que eles possam ir primeiro.Tecnicamente, a Microsoft tem se recusado a reconhecer a existência do OpenGL desde que lançou o DirectX. É que eles não podem impedi-lo de instalá-lo você mesmo, ou um fabricante de GPU instalando-o junto com um driver de GPU. A Microsoft não suporta OpenGL ativamente no Windows desde a versão 1.3. Essa é a única versão que vem com o Windows, e a única versão que você pode acessar diretamente através da plataforma SDK. Versões mais novas devem ser verificadas e carregadas dinamicamente.
Apple está simplesmente adotando essa atitude para eles mesmos também. Eles têm Metal, e eles querem que você use isso. Então eles estão terminando o suporte ao OpenGL e logo começarão a fingir que ele não existe, assim como o Microsoft.
Mas o outro fator em jogo aqui é que o OpenGL está morrendo. Ele está muito desatualizado, e já correu o seu curso. A indústria mudou para uma forma mais nova de falar com hardware gráfico. Metal e DirectX 12 usam este novo estilo, e as vantagens de desempenho e flexibilidade são potencialmente maiores. Como este novo estilo de API toma posse, nós precisaremos começar a abandonar as coisas antigas para aproveitar ao máximo as novas coisas.
Even os próprios criadores do OpenGL sabem disso. A API Vulkan é do mesmo grupo. Originalmente eles planejavam introduzir este novo estilo com OpenGL 5, mas suas tentativas de desenhá-la correram mal, e também havia um sentimento crescente de que a API era tão radicalmente diferente que ela não era mais OpenGL. Então quando o OpenGL 5 foi mal desenhado, a AMD ofereceu sua própria versão proprietária do novo estilo API, que foi chamado de Mantle, como exemplo. No final, o comitê acabou levando-a por atacado, apenas renomeando-a e depois adicionando-a a partir daí. Isto ficou conhecido como Vulkan. Então realmente o OpenGL não vai embora, é que o OpenGL 5 é tão radicalmente diferente que ganhou um novo nome. A parte que ainda é chamada OpenGL, está morta, oficialmente, mesmo de acordo com seus criadores e mantenedores. Ele teve suas atualizações finais, e especialmente com o aumento do hardware de traçado de raio baseado em NN e pós-processamento, ele não envelhecerá graciosamente.
A Microsoft e a Apple ainda estão comprometidas com o seu próprio negócio por enquanto. Elas não vão reconhecer a existência do Vulkan, assim como a Microsoft não reconheceu o OpenGL no passado. Então no Windows, você vai usar o DirectX, ou você pode ir atrás das costas deles e usar Vulkan fornecido pela AMD ou Nvidia. Na Apple, você pode usar Metal. As plataformas Apple não permitem que drivers sejam adicionados em coisas como Vulkan, então é Metal ou nada.
As plataformas de código aberto serão movidas para Vulkan. Linux e Android ambos já têm bom suporte a Vulkan vindo. A Sony e a Nintendo estão ambas a oferecer suporte a Vulkan para as suas plataformas. A Nintendo já está lá, no Switch. Eu não consigo encontrar nenhuma confirmação de que a Sony realmente implantou Vulkan no PS4, mas a afirmação deles foi "em nossas futuras consoles", então pode estar vindo com PS5.
Então olhando para baixo na lista de plataformas:
>ul>Windows - OpenGL tecnicamente depreciado nos anos 90. Vulkan foi oficialmente ignorado por completo. Ambos ainda estão disponíveis, mas apenas através da instalação no mercado de reposição. O suporte oficial é apenas DirectX.Xbox - DirectX apenas. OpenGL nunca existiu.iOS e Mac - Metal é agora o suporte oficial, e OpenGL é depreciado. Ele será removido do SDK, provavelmente em um horário bastante agressivo.Nintendo - Suporta OpenGL e Vulkan, assim como seu próprio kit desenvolvido com Nvidia. Sua próxima plataforma provavelmente irá manter o Vulkan, mas largará o OpenGL.PlayStation - Suporta OpenGL e seu próprio kit também. Vulkan chegando provavelmente com PS5. PS6 provavelmente deixará OpenGL.Android - Vulkan atingiu paridade de características com OpenGL para Android em Vulkan 1.1. Vulkan 1.1 é requerido implementação para dispositivos Android 10 e superior. Quase certo de que o Google dará algum tempo para o Android 10+ saturar o mercado, e depois seguirá a Apple para a desvalorização do OpenGL. Novos projetos e experimentos vindos do Google estão sendo escritos diretamente com o Vulkan e não têm suporte OpenGL. Mesmo seu sistema operacional experimental "Fuchsia" não tem OpenGL em absoluto, apenas Vulkan.Linux - fará o mesmo que o Android, mas dada a quantidade de suporte herdado para lidar, eles terão uma espera muito maior.Então, não é que a Apple tenha depreciado o OpenGL. É que, durante a próxima década, toda a indústria planeja depreciar o OpenGL. A Apple estava apenas em posição de se mover mais rápido, e escolheu se mover agressivamente, porque, bem, isso é Apple para você.
Confie em mim, as únicas pessoas chateadas com isso são pessoas que não fazem programação GPU, mas apenas conhecem OpenGL como uma coisa que os jogos usam, e eles acham que isso é Apple dizendo "foda-se os gamers". Mas as pessoas que realmente têm que usar essas APIs, a maioria delas está feliz em ver OpenGL ir. Estava muito ultrapassado e tinha se tornado uma pilha gigante de kludges e funções depreciadas. Seus substitutos têm uma curva de aprendizado mais acentuada, mas são muito mais poderosos e elegantes. Apenas os desenvolvedores do lado de baixo da curva de aprendizado ficam tristes ao ver OpenGL go.
Artigos semelhantes
- Quais são as diferenças entre OpenGL moderno e antigo? O OpenGL moderno é difícil, então devo começar com o antigo OpenGL?
- Quais são as diferenças entre OpenCL e OpenGL?
- A Apple One, em ₹195 por mês e que inclui Apple Music, Apple TV Plus, Apple Arcade, e iCloud terá sucesso na Índia?
- O que as pessoas querem dizer quando dizem que "OpenGL é uma especificação"?