GPU API MkII
Introdução ao projeto
- A nova API de GPU do SDL foi introduzida
- É semelhante ao projeto MoonWorks e tem como alvo APIs modernas, como Vulkan
- Já está sendo usada em jogos como Samurai Gunn 2
Principais recursos e vantagens
- Função de compute: a API Refresh permite usar recursos de compute de forma simples
- Sistema de shaders: usa compilação offline e oferece suporte a vários formatos
- Segurança de recursos: garante internamente a segurança dos recursos, sem expor APIs complexas ao usuário
Sistema de shaders
- Usa o script
shaderbuild.py para fazer o build offline dos shaders
- Ao gerar módulos de shader, usa o formato IR de cada backend
- O próprio SDL não faz wrapper de compiladores de shader
Andamento do desenvolvimento
- Suporte a Metal iniciado
- Suporte à geração de shaders por meio do port do FNA3D
- Suporte a hardware instancing previsto para ser adicionado
Feedback da comunidade
- Há opiniões variadas sobre o modelo de compilação offline de shaders
- A forma como o SDL_gpu lida com ciclos foi bem avaliada
- Ainda são necessárias melhorias contínuas para dar suporte a vários backends
Planos futuros
- Escrever comentários de documentação no estilo SDL
- Reforçar o suporte a Metal e D3D12
- Adicionar programas de teste e corrigir bugs
# Resumo do GN⁺
- A nova API de GPU do SDL oferece suporte a APIs gráficas modernas e pode ser usada em vários jogos
- O sistema de shaders adota compilação offline para otimizar o desempenho
- Ela continua sendo aprimorada com base no feedback da comunidade, com reforço planejado para o suporte a Metal e D3D12
- Essa API é útil para desenvolvedores de jogos e oferece flexibilidade com suporte a vários backends
1 comentários
Comentários do Hacker News
O SDL3 ainda está em prévia, mas a nova API de GPU foi integrada ao branch principal
É surpreendente que a API de GPU do SDL tenha ficado pronta tão rápido
Fico feliz por ter podido contribuir com a parte de dx12
O SDL é um software de alta qualidade, compila rapidamente em várias plataformas e sempre funciona
Sou um grande fã do SDL
Estou ansioso para ver no que tudo isso vai dar
Aprender Vulkan foi divertido e útil, mas pareceu um progresso lento
Nunca usei esta biblioteca, mas gostaria de ver exemplos de capacidade de computação de GPU multiplataforma
Gostaria de ver o Raylib ganhar um backend de GPU do SDL
Fico me perguntando se isto tem relação com https://github.com/grimfang4/sdl-gpu