2 poin oleh GN⁺ 2024-04-03 | 1 komentar | Bagikan ke WhatsApp
  • Masalah porting lintas platform yang dialami Adobe saat memindahkan aplikasi besar seperti Photoshop dan Acrobat ke berbagai lingkungan menjadi titik awal pengembangan Renderlet
  • Renderlet menargetkan diri sebagai framework grafis WASM yang dapat dijalankan dan di-embed di mana saja, dengan tujuan sekaligus mengejar kemudahan pengembangan aplikasi dan pemanfaatan GPU tingkat rendah
  • Runtime terbuka Wander menyediakan API 3D tingkat rendah di atas GPU, dan sebuah eksperimen mengimplementasikan integrasi renderer vektor 2D open-source dari Rive ke dalamnya
  • Saat ini berada pada tahap tepat sebelum alfa terbuka, dan jika compiler serta integrasi platform sudah siap, mereka berencana melakukan Show HN atau Launch HN
  • Seperti Unity yang memudahkan pengembangan lintas platform untuk game, Renderlet berfokus pada memudahkan berbagai aplikasi visual agar dapat berjalan di banyak lingkungan

Masalah portabilitas yang ingin dipecahkan Renderlet

  • Di Adobe, membuat aplikasi besar seperti Photoshop dan Acrobat berjalan di desktop, web, mobile, dan cloud merupakan tantangan besar
    • Versi web Lightroom dan Photoshop melewati jalur panjang melalui JavaScript, Google PNaCl, asm.js, dan WebAssembly
    • Mereka harus memikirkan ulang arsitektur GPU sesuai perangkat target, serta membutuhkan build single-thread dan rekonstruksi UI berbasis Web Components
    • Build web kini berjalan dengan baik, tetapi proses tersebut memakan pekerjaan selama 10 tahun
  • Stack grafis masih tetap menjadi bottleneck portabilitas, dan WebAssembly dipilih sebagai fondasi yang dapat dijalankan dan di-embed di mana saja serta mampu memberikan performa yang dibutuhkan untuk grafis real-time
  • Renderlet menekankan struktur untuk membuat modul grafis yang mandiri dan menghubungkannya satu sama lain, sehingga dapat berjalan di atas lingkungan apa pun dan di dalam aplikasi apa pun
  • Pengembangnya bergabung dengan YC sebagai founder solo, dan telah mengembangkan Renderlet selama 6 bulan terakhir

Eksperimen integrasi Rive Renderer

  • Setelah Rive merilis mesin vektor 2D-nya sebagai open source, dilakukan eksperimen apakah Rive Renderer dapat dijalankan di backend GPU Renderlet
    • Rive Renderer terdiri dari API 2D tingkat tinggi yang mirip dengan SVG
    • Wander adalah bagian runtime open-source dari Renderlet, dan menyediakan API 3D tingkat rendah di atas GPU
  • Hasil implementasinya menunjukkan bahwa library Rive Renderer dapat dijalankan di backend GPU Renderlet, sehingga backend vektor 2D juga dapat digunakan di aplikasi 3D
  • Contoh yang berjalan dapat dilihat di video Vimeo
  • Detail teknis dirangkum di Using renderlet with rive-renderer
  • Kode Wander, runtime Wasm Renderer, tersedia di renderlet/wander

1 komentar

 
GN⁺ 2024-04-03
Opini Hacker News
  • Lebih baik melewati tahap PAL dan langsung masuk ke SetupRuntime. Pengembang non-grafis umumnya tidak mengetahui hal-hal seperti ini, dan tidak diinginkan membuat langkah tambahan yang tidak perlu di API. Karena PAL tidak digunakan di tempat lain, lebih baik menggunakan WebGPU. (IPal seharusnya menjadi anggota IRuntime dan siap dihapus dalam konteks WebGPU).

    • Disarankan menggunakan WebGPU: melewati tahap PAL, langsung memulai dari SetupRuntime, perlunya penyederhanaan API, integrasi IPal ke IRuntime dan target penghapusan.
  • Proyek ini bisa menjadi widget kit yang keren untuk membuat GUI lintas platform dan kanvas luar biasa untuk model interaksi. Backend C/C++ dan target WASM memungkinkan pembangunan FFI dalam hampir semua bahasa.

    • Potensi pengembangan GUI lintas platform: memungkinkan pembangunan FFI dalam berbagai bahasa, keunggulan backend C/C++ dan target WASM.
  • Penasaran dengan rencana dukungan teks dan font. Beberapa engine grafis tidak mendukung teks dalam semua cara yang diinginkan. Pertanyaannya adalah apakah file OTF atau WOFF2 bisa dimuat dan string sebarang dapat ditampilkan.

    • Pertanyaan tentang dukungan teks dan font: dukungan berbagai cara menampilkan teks, kemungkinan memuat file OTF/WOFF2 dan menampilkan string.
  • Sangat tertarik dengan proyek ini. Ada beberapa pertanyaan tentang runtime, event loop, FFI, kepemilikan pointer jendela, dan sebagainya. Ada minat pada plugin audio dan VST, serta ada batasan terkait event loop dan manajemen jendela. JUCE adalah solusi de facto, tetapi sudah tua dan kurang nyaman.

    • Minat pada plugin audio dan VST: pertanyaan tentang runtime, event loop, FFI, dan manajemen jendela, serta kemungkinan sebagai alternatif untuk JUCE.
  • Proyek ini benar-benar keren, dan merupakan sesuatu yang diimpikan selama beberapa tahun terakhir. WASM memiliki banyak potensi sebagai unit portabel untuk komputasi grafis/audio/multimedia.

    • Penekanan pada potensi WASM: kemungkinan WASM sebagai unit portabel untuk komputasi grafis/audio/multimedia.
  • Sedang mengerjakan upaya menjalankan WASM di Godot Engine. Ingin tahu bagaimana masalah akses shared array buffer di Safari dan masalah akses jaringan iklan yang penting untuk game online berhasil diatasi. Juga menyoroti masalah build single-thread dibanding build normal.

    • Pekerjaan WASM di Godot Engine: masalah akses shared array buffer di Safari, akses jaringan iklan, dan isu build single-thread versus build normal.
  • Senang melihat lebih banyak proyek di bidang grafis 3D/WASM. Bertanya apakah ada tips untuk masuk ke YC. Sudah bertahun-tahun mengerjakan porting Unreal Engine 5 ke WebGPU dan WebAssembly. Memiliki renderer multithread dan sistem streaming aset, sehingga pengguna tidak perlu mengunduh seluruh game/aplikasi terlebih dahulu. Selain itu, seluruh aplikasi juga tidak perlu dimuat ke memori sekaligus. Juga membangun seluruh platform hosting dan backend agar pengembang dapat menerapkan proyek secara online.

    • Porting Unreal Engine 5 ke WebGPU dan WebAssembly: renderer multithread, sistem streaming aset, tidak perlu mengunduh seluruh game/aplikasi, serta pembangunan platform hosting dan backend.
  • Presentasi di wasm I/O sangat mengesankan, dan senang melihat pekerjaan ini mulai mendapat perhatian.

    • Respons positif terhadap presentasi wasm I/O: isi presentasi yang mengesankan dan perhatian yang mulai didapat pekerjaan ini.
  • Bertanya apakah sudah membaca artikel dari Ian Hickson, salah satu pengembang utama Flutter. Artikel itu menjelaskan konsep memiliki framework UI lintas platform sepenuhnya dengan menggunakan WASM, dan itulah konsep yang digunakan Flutter.

    • Penggunaan WASM terkait Flutter: konsep framework UI lintas platform dan kaitannya dengan Flutter.
  • Sangat merekomendasikan manifold sebagai kernel CAD yang bisa diintegrasikan ke dalam aplikasi.

    • Rekomendasi kernel CAD: rekomendasi manifold untuk integrasi ke aplikasi.