Rendering Hardware Interface (RHI) Modul Grafik Metana RHI mengimplementasikan serangkaian antarmuka yang berorientasi objek publik, yang membuat pemrograman grafis modern mudah dan nyaman dalam platform dan cara independen API. Tutorial Mulailah belajar API grafis metana dengan dokumentasi tutorial Hello Triangle dan lanjutkan dengan orang lain. Nama / tautan | Tangkapan layar | Keterangan |
|---|
| 1. Halo Segitiga |  | Rendering segitiga berwarna dalam 100 baris kode. | | 2. Halo Cube |  | Rendering kubus berwarna dalam 200 baris kode dengan vertex dan buffer indeks. | | 3. Kubus bertekstur |  | Kubus bertekstur memperkenalkan penyangga, tekstur, dan penggunaan sampler dengan phong shading. | | 4. Shadow Cube |  | Shadow Cube memperkenalkan rendering multi-pass dengan pass render. | | 5. Tipografi |  | Tipografi menunjukkan rendering teks animasi dengan pembaruan font atlas dinamis menggunakan metana UI. | | 6. Array Cube-Map |  | Cube-Map Array Tekstur bersama dengan rendering kotak sky. | | 7. Rendering paralel |  | Rendering paralel dari contoh kubus bertekstur ke lulus tunggal. | | 8. Konsol Komputasi |  | Game of Life Conway diimplementasikan di Compute Shader dan berjalan dalam aplikasi konsol murni. |
Sampel Sampel metana menunjukkan teknik canggih dan skenario penggunaan dengan implementasi yang lebih kompleks daripada tutorial di atas. Sampel didistribusikan dalam bentuk repositori terpisah. Nama / tautan | Tangkapan layar | Keterangan |
|---|
| Asteroid |  | Benchmark yang menunjukkan perintah render paralel yang mengkode dalam satu render pass untuk sejumlah besar objek asteroid heterogen yang diproses dalam banyak utas. |
Fitur- Kelas Aplikasi & Input Cross-Platform : Windows, MacOS dan Linux didukung
- Modul CMake untuk konfigurasi pembuatan aplikasi yang nyaman, menambahkan shader dan sumber daya tertanam
- HLSL-6 Shaders Melayani Semua API Grafik yang Dikonversi ke Bahasa Shader Asli dan Disusun dalam Waktu Bangun dengan Spirv-Cross & DirectXCompiler
- Perpustakaan Matematika HLSL ++ dengan sintaks seperti HLSL dalam optimisasi C ++ dan vektor-instruksi untuk platform yang berbeda
- Abstraksi API Grafis Modern : Berdasarkan DirectX 12, Vulkan dan API Logam
- Render status dan konfigurasi program dengan sintaks inisialisasi kompak
- Objek pengikatan program mengimplementasikan pengikatan argumen shader yang efisien
- Pelacakan Status Sumber Daya Otomatis Digunakan untuk Pengaturan Hambatan Transisi Sumber Daya Otomatis
- Sumber daya secara otomatis dipertahankan dari penghancuran saat digunakan pada GPU dengan pointer bersama dalam keadaan daftar perintah
- Daftar Perintah Eksekusi Status Pelacakan dengan Query Timestamps GPU Opsional setelah selesai
- Daftar Perintah Render Paralel untuk Pengkodean Perintah Render Multi-Threaded di Single Render Pass
- Eksekusi antrian perintah berganda pada GPU dengan sinkronisasi menggunakan pagar
- Sumber Daya GPU Pribadi yang diperbarui secara tidak sinkron melalui daftar perintah Unggah dan Sumber Daya Bersama
- Registry Objek Grafis yang Dinamai Mengaktifkan Penggunaan Kembali Negara Render dan Sumber Daya Grafik Antara Objek Renderer
- Grafik Primitif dan Ekstensi :
- Kelas Basis Aplikasi Grafis dengan manajemen sumber daya per-frame dan frame buffer pengubah ukuran memungkinkan buffering triple yang efektif
- Kamera Primitif dan Interaktif Kamera bola busur
- Generasi mesh prosedural untuk quad, box, sphere, icosahedron dan uber-mesh
- Layar-Quad dan Sky-Box Rendering Class
- Loader Tekstur (saat ini diimplementasikan dengan STB, direncanakan untuk diganti dengan OpenImageIo)
- Antarmuka pengguna :
- Kelas Pangkalan Aplikasi UI Dengan HUD Terpadu, Lencana Logo dan Bantuan/Parameter Panel Teks
- Perpustakaan Tipografi Untuk Pemuatan Font, Pembaruan Atlas Dinamis, Rendering & Tata Letak Teks
- Widgets Library (sedang dikembangkan)
- Infrastruktur Platform :
- Aplikasi dasar dengan manajemen jendela dan penanganan input untuk Windows, MacOS dan Linux
- Mekanisme Acara Menghubungkan Emsi dan Penerima Melalui Antarmuka Callback
- Subsistem Animasi
- Penyedia Sumber Daya Tertanam
- Kemampuan debugging dan profil terintegrasi :
- Instrumentasi Perpustakaan untuk Analisis Kinerja dengan Alat Profiling Jejak
- Debug Nama untuk semua objek GPU dan daerah debug untuk panggilan grafis API untuk digunakan dengan alat profil bingkai
- Integrasi berkelanjutan dengan build multi-platform otomatis, tes unit dan analisis kode statis cloud sonar dalam tindakan github
Untuk fitur terperinci deskripsi dan rencana pengembangan silakan merujuk ke dokumentasi modul. Alat pengembangan yang didukung Lingkungan pengembangan 
- Microsoft Visual Studio 2019
- Solusi dan Proyek Build (Hasilkan dengan build/windows/build.bat)
- CMAKE Native Build Support (pra-konfigurasi dengan cmakePresets.json)
- Xcode Apple
- Xcode Workspace dan Proyek (Hasilkan dengan build/unix/build.sh)
- Microsoft vs Code dan GitPod (pra-konfigurasi dengan cmakePresets.json dan .vscode/settings.json)
- Jet Brains Clion (pra-konfigurasi dengan .idea)
- Pencipta QT dengan dukungan asli CMake
Kit metana sedang dikembangkan dengan dukungan alat pengembangan otak jet. Lisensi Pengembangan Proyek Open Source disediakan secara gratis untuk semua kontributor utama Proyek Kit Metana. Analisis Kode Statis Kit metana hadir dengan kode statis C ++ kontinu dan analisis cakupan kode yang dilakukan sebagai bagian dari "pemindaian" CI otomatis dibangun dengan hasil terkini yang diterbitkan di Sonar Cloud secara terpisah untuk semua platform yang didukung. | Hasil pemindaian master | Windows | MacOS | Linux |
|---|
| Pindai status build | | | | | Gerbang Kualitas | | | | | Pemeliharaan | | | | | Keandalan | | | | | Keamanan | | | | | Hutang teknis | | | | | Serangga | | | | | Kerentanan | | | | | Kode bau | | | | | Garis yang digandakan | | | | | Cakupan tes | | | | | Baris kode | | | |
Lacak alat profil Kit metana berisi instrumentasi terintegrasi dari semua perpustakaan untuk analisis kinerja dengan pengumpulan jejak menggunakan alat berikut. Silakan merujuk ke dokumen instrumentasi metana untuk detail lebih lanjut tentang instruksi pengumpulan jejak dan opsi pembuatan terkait. | Tracy Frame Profiler | Intel Graphics Trace Analyzer |
|---|
 |  |
Membingkai profil dan alat debugging- Intel Graphics Frame Analyzer
- Debugger logam apel xcode
- Renderdoc
- Microsoft Pix
- NVIDIA NSIGHT GRAPHICS
Dependensi eksternal- Perpustakaan
- Membangun alat
- Aktiva
Lisensi Kit metana didistribusikan di bawah lisensi Apache 2.0: gratis untuk digunakan dan dibuka untuk kontribusi! Hak Cipta 2019-2022 © Evgeny Gorodetskiy
Memperluas
Direkomendasikan untuk Anda
|