1 poin oleh GN⁺ 2024-08-31 | 1 komentar | Bagikan ke WhatsApp

GPU API MkII

Pengenalan proyek
  • API GPU baru untuk SDL telah diperkenalkan
  • Mirip dengan proyek MoonWorks, dan menargetkan API modern seperti Vulkan
  • Sudah digunakan di game seperti Samurai Gunn 2
Fitur utama dan keunggulan
  • Fungsi compute: API Refresh memungkinkan penggunaan fungsi compute secara sederhana
  • Sistem shader: Menggunakan metode kompilasi offline dan mendukung berbagai format
  • Keamanan resource: Menjamin keamanan resource secara internal tanpa mengekspos API yang rumit kepada pengguna
Sistem shader
  • Menggunakan skrip shaderbuild.py untuk build shader secara offline
  • Saat membuat modul shader, digunakan format IR dari masing-masing backend
  • SDL sendiri tidak me-wrapper compiler shader
Perkembangan pengembangan
  • Dukungan Metal mulai ditambahkan
  • Mendukung pembuatan shader melalui port FNA3D
  • Dukungan hardware instancing direncanakan akan ditambahkan
Umpan balik komunitas
  • Ada beragam pendapat tentang metode kompilasi shader offline
  • Cara SDL_gpu menangani siklus mendapat penilaian positif
  • Perlu perbaikan berkelanjutan untuk mendukung berbagai backend
Rencana ke depan
  • Menulis komentar dokumentasi bergaya SDL
  • Memperkuat dukungan Metal dan D3D12
  • Menambahkan program pengujian dan memperbaiki bug

# Ringkasan GN⁺

  • API GPU baru SDL mendukung API grafis modern dan dapat digunakan di berbagai game
  • Sistem shader mengadopsi metode kompilasi offline untuk mengoptimalkan performa
  • API ini terus ditingkatkan dengan mencerminkan umpan balik komunitas, dan dukungan Metal serta D3D12 akan diperkuat
  • API ini bermanfaat bagi pengembang game dan menawarkan fleksibilitas dengan mendukung berbagai backend

1 komentar

 
GN⁺ 2024-08-31
Opini Hacker News
  • SDL3 masih dalam status pratinjau, tetapi GPU API barunya telah digabungkan ke branch utama

    • GPU API baru ini memungkinkan kode grafis dan shader ditulis sekali lalu berjalan lintas platform (termasuk konsol) dengan kerepotan minimal
    • Sebelumnya, hal ini memerlukan Unity, Unreal, atau solusi kustom
    • WebGPU/WGSL juga merupakan upaya serupa untuk membangun stack grafis lintas platform
    • Saat ini SDL3 GPU API tidak mendukung WebGPU sebagai backend
  • Mengejutkan bahwa SDL GPU API selesai secepat ini

    • WebGPU native masih dalam pengembangan dan belum selesai
    • Karena SDL GPU API mendukung lebih banyak platform, saya kira ini akan memakan waktu lebih lama
  • Senang bisa berkontribusi pada bagian dx12

  • SDL adalah software berkualitas tinggi, dapat dikompilasi dengan cepat di berbagai platform dan selalu berfungsi

    • Saya menantikan API barunya
  • Saya penggemar berat SDL

    • Saat mencari library game lintas platform, SDL dan API-nya memberikan keseimbangan yang pas
    • Saya membutuhkan library C(++) yang bisa membuat window dan graphics context
    • Saya tidak ingin belajar bahasa baru
  • Saya menantikan bagaimana semua ini akan berkembang

    • Semoga ada lebih banyak opsi untuk membangun game engine dan aplikasi kustom
  • Mempelajari Vulkan itu menyenangkan dan bermanfaat, tetapi progresnya terasa lambat

    • Jika SDL3 sudah ada sejak awal, saya mungkin akan mendapatkan lebih banyak hasil
  • Saya belum pernah menggunakan library ini, tetapi ingin melihat contoh kemampuan komputasi GPU lintas platform

    • Saya butuh saran tentang dari mana harus mulai
  • Saya ingin melihat Raylib mendapatkan backend SDL GPU

    • Kalau begitu saya akan langsung memakainya
  • Saya penasaran apakah ini terkait dengan https://github.com/grimfang4/sdl-gpu

    • Atau apakah ini sesuatu yang sepenuhnya terpisah tetapi memiliki nama yang sama