1 puntos por GN⁺ 2024-08-31 | 1 comentarios | Compartir por WhatsApp

GPU API MkII

Introducción al proyecto
  • Se incorpora la nueva API de GPU de SDL
  • Es similar al proyecto MoonWorks y apunta a APIs modernas como Vulkan
  • Ya se está usando en juegos como Samurai Gunn 2
Funciones principales y ventajas
  • Funciones de cómputo: la API Refresh permite usar funciones de cómputo de forma sencilla
  • Sistema de shaders: usa compilación offline y soporta varios formatos
  • Seguridad de recursos: garantiza internamente la seguridad de los recursos sin exponer una API compleja al usuario
Sistema de shaders
  • Usa el script shaderbuild.py para compilar shaders offline
  • Al generar módulos de shader, utiliza el formato IR de cada backend
  • SDL en sí no envuelve compiladores de shaders
Estado del desarrollo
  • Comenzó el soporte para Metal
  • Soporte para generación de shaders mediante el port de FNA3D
  • Está previsto agregar soporte para hardware instancing
Feedback de la comunidad
  • Hay opiniones diversas sobre el enfoque de compilación offline de shaders
  • La forma en que SDL_gpu maneja los ciclos ha sido bien valorada
  • Se necesitan mejoras continuas para soportar diversos backends
Planes a futuro
  • Redacción de comentarios de documentación al estilo SDL
  • Refuerzo del soporte para Metal y D3D12
  • Agregar programas de prueba y corregir errores

# Resumen de GN⁺

  • La nueva API de GPU de SDL soporta APIs gráficas modernas y puede usarse en diversos juegos
  • El sistema de shaders adopta compilación offline para optimizar el rendimiento
  • Se sigue mejorando continuamente con base en el feedback de la comunidad, y se reforzará el soporte para Metal y D3D12
  • Esta API es útil para desarrolladores de juegos y ofrece flexibilidad al soportar diversos backends

1 comentarios

 
GN⁺ 2024-08-31
Opiniones de Hacker News
  • SDL3 todavía está en estado de vista previa, pero la nueva API de GPU ya se fusionó en la rama principal

    • La nueva API de GPU permite escribir el código gráfico y los shaders una sola vez para que funcionen en múltiples plataformas (incluyendo consolas) con mínimas complicaciones
    • Antes se necesitaba Unity, Unreal o una solución personalizada
    • WebGPU/WGSL también es un esfuerzo similar por crear una pila gráfica multiplataforma
    • Actualmente, la API de GPU de SDL3 no soporta WebGPU como backend
  • Sorprende que la API de GPU de SDL haya madurado tan rápido

    • WebGPU native está en desarrollo y todavía no está terminado
    • Como la API de GPU de SDL soporta más plataformas, se esperaba que tardara más
  • Me da gusto haber podido contribuir en la parte de dx12

  • SDL es software de alta calidad, compila rápido en varias plataformas y siempre funciona

    • Hay expectativa por la nueva API
  • Soy muy fan de SDL

    • Cuando buscaba una biblioteca de juegos multiplataforma, SDL y su API ofrecían el equilibrio adecuado
    • Necesitaba una biblioteca en C(++) que pudiera crear ventanas y contextos gráficos
    • No quería tener que aprender un lenguaje nuevo
  • Tengo muchas ganas de ver cómo resulta todo esto

    • Ojalá surjan más opciones para construir motores de juego y apps personalizadas
  • Aprender Vulkan fue divertido y útil, pero sentí que el avance era lento

    • Si SDL3 hubiera existido desde el principio, habría logrado mucho más
  • Nunca he usado esta biblioteca, pero me gustaría ver ejemplos de capacidades de cómputo GPU multiplataforma

    • Necesito sugerencias sobre por dónde empezar
  • Me gustaría ver que Raylib obtuviera un backend de SDL GPU

    • Entonces lo usaría de inmediato
  • Me pregunto si esto está relacionado con https://github.com/grimfang4/sdl-gpu

    • O si es algo completamente distinto con el mismo nombre