1 Punkte von GN⁺ 2024-08-31 | 1 Kommentare | Auf WhatsApp teilen

GPU-API MkII

Projektüberblick
  • Die neue GPU-API von SDL wurde eingeführt
  • Ähnelt dem MoonWorks-Projekt und zielt auf moderne APIs wie Vulkan ab
  • Wird bereits in Spielen wie Samurai Gunn 2 eingesetzt
Hauptfunktionen und Vorteile
  • Compute-Funktionen: Die Refresh-API macht Compute-Funktionen einfach nutzbar
  • Shader-System: Verwendet Offline-Kompilierung und unterstützt verschiedene Formate
  • Ressourcensicherheit: Gewährleistet intern die Ressourcensicherheit, ohne den Nutzern eine komplexe API offenzulegen
Shader-System
  • Verwendet das Skript shaderbuild.py für den Offline-Shader-Build
  • Nutzt beim Erzeugen von Shader-Modulen die IR-Formate der jeweiligen Backends
  • SDL selbst kapselt keinen Shader-Compiler
Entwicklungsstand
  • Unterstützung für Metal wurde begonnen
  • Shader-Erzeugung wird über einen FNA3D-Port unterstützt
  • Unterstützung für Hardware-Instancing ist geplant
Community-Feedback
  • Unterschiedliche Meinungen zur Offline-Shader-Kompilierung
  • Positive Bewertung der Zyklusverarbeitung von SDL_gpu
  • Fortlaufende Verbesserungen für die Unterstützung verschiedener Backends sind nötig
Weitere Pläne
  • Dokumentationskommentare im SDL-Stil schreiben
  • Unterstützung für Metal und D3D12 ausbauen
  • Testprogramme hinzufügen und Bugs beheben

# GN⁺-Zusammenfassung

  • Die neue GPU-API von SDL unterstützt moderne Grafik-APIs und kann in verschiedenen Spielen eingesetzt werden
  • Das Shader-System setzt auf Offline-Kompilierung, um die Performance zu optimieren
  • Es wird unter Berücksichtigung des Community-Feedbacks kontinuierlich verbessert, wobei die Unterstützung für Metal und D3D12 ausgebaut werden soll
  • Diese API ist für Spieleentwickler nützlich und bietet durch die Unterstützung verschiedener Backends hohe Flexibilität

1 Kommentare

 
GN⁺ 2024-08-31
Hacker-News-Kommentare
  • SDL3 befindet sich noch im Preview-Status, aber die neue GPU-API wurde bereits in den Main-Branch gemergt

    • Die neue GPU-API ermöglicht es, Grafikcode und Shader einmal zu schreiben und mit minimalem Aufwand plattformübergreifend zu nutzen, einschließlich auf Konsolen
    • Zuvor brauchte man dafür Unity, Unreal oder eine Custom-Lösung
    • WebGPU/WGSL ist ein ähnlicher Versuch für einen plattformübergreifenden Grafik-Stack
    • Die SDL3-GPU-API unterstützt WebGPU derzeit nicht als Backend
  • Es ist überraschend, dass die SDL-GPU-API so schnell fertig geworden ist

    • WebGPU Native ist in Entwicklung und noch nicht fertig
    • Da die SDL-GPU-API mehr Plattformen unterstützt, hätte ich erwartet, dass es länger dauert
  • Ich freue mich, zum dx12-Teil beigetragen zu haben

  • SDL ist hochwertige Software, kompiliert auf vielen Plattformen schnell und funktioniert immer

    • Ich freue mich auf die neue API
  • Ich bin ein großer Fan von SDL

    • Als ich nach einer plattformübergreifenden Spielebibliothek suchte, boten SDL und seine API die richtige Balance
    • Ich brauchte eine C(++)-Bibliothek, mit der sich Fenster und Grafikkontexte erstellen lassen
    • Ich wollte keine neue Sprache lernen
  • Ich bin gespannt, wie sich das alles entwickelt

    • Hoffentlich entstehen dadurch mehr Optionen zum Bauen von Custom-Game-Engines und Apps
  • Vulkan zu lernen war interessant und lehrreich, aber der Fortschritt fühlte sich langsam an

    • Wenn SDL3 von Anfang an da gewesen wäre, hätte ich mehr erreichen können
  • Ich habe diese Bibliothek noch nie benutzt, würde aber gern Beispiele für plattformübergreifendes GPU-Computing sehen

    • Ich brauche Vorschläge, wo ich anfangen sollte
  • Ich würde gern sehen, dass Raylib ein SDL-GPU-Backend bekommt

    • Dann würde ich es sofort benutzen
  • Ich frage mich, ob das mit https://github.com/grimfang4/sdl-gpu zusammenhängt

    • Oder ob es etwas völlig anderes mit demselben Namen ist