Qt 6 mulai diumumkan dengan jelas dan detail versi ini akurat, khususnya pada level 3D. Nah, dalam sebuah pengumuman, orang-orang yang bertanggung jawab atas pembangunan merilis API baru untuk 3D di Qt Quick: Qt Quick 3D.
Yang ini akan bersaing dengan Qt 3D, mesin 3D yang sudah lengkap terintegrasi dengan Qt, meskipun keduanya akan menggunakan abstraksi yang sama. Perbedaan utama antara Qt Quick 3D dan Qt 3D terletak pada tingkat abstraksi, dengan Qt Quick 3D menjadi lebih abstrak. Pengembangan Qt 3D harus dilanjutkan, terutama dalam hal kinerja. Namun, Qt Quick 3D harus menggantikan mesin rendering Qt 3D Studio: Qt Quick 3D dibangun di atas fondasi ini. Alat akan disediakan untuk memudahkan transisi ke Qt Quick 3D.
Tentang Qt Quick 3D
Untuk Qt 6, Qt Quick akan terus menggunakan grafik untuk rendering, tetapi memiliki ekstensi untuk mengelola 3D, ekstensi ini disebut Qt Quick 3D.
Tujuan utamanya adalah untuk membatasi kesulitan sinkronisasi antara bagian 2D dan 3D antarmuka: saat ini, keduanya ditangani oleh mesin rendering yang sama sekali berbeda yang tidak memiliki cara mudah untuk menyinkronkan, yang dapat memberikan rendering yang agak aneh untuk animasi.
Selain itu, performa dipengaruhi oleh penggunaan dua motor berbeda yang tidak dirancang khusus untuk bekerja sama. Dengan Qt Quick 3D, situasinya harus lebih sederhana: runtime, Qt Quick, grafik pemandangan, menggabungkan 2D dan 3D, antarmuka pengeditan antarmuka, Qt Design Studio.
Qt Quick 3D API harus mengikuti prinsip yang sama dengan Qt Quick API- Harus mudah digunakan, berkinerja tinggi, tanpa harus memahami detail implementasi mesin rendering.
Qt Quick 3D tidak ditujukan untuk aplikasi 3D yang kompleks dan spesifik, tetapi untuk sebagian besar antarmuka grafis, yang menggabungkan 2D dan 3D. (Akhirnya, sebagian besar rendering API akan terlihat, memungkinkan penggunaan yang lebih lanjut.)
Qt Quick 3D sudah dapat digunakan dengan Qt 5, meskipun belum dalam bentuk akhirnya (Integrasi penuh dengan Qt Quick memerlukan beberapa perubahan dalam kompatibilitas biner, ini hanya akan terjadi dengan Qt 6): pada awalnya, hanya API QML yang akan digunakan. tersedia, tetapi C ++ API harus segera mengikuti.
Lebih lanjut Serangkaian komponen tingkat tinggi akan ditawarkan.l untuk menentukan tampilan konten 3D: lampu, kamera, bahan yang akan dirender, tetapi detail penerapannya tidak akan terlihat.
Oleh karena itu, API harus sangat mudah digunakan, meskipun memiliki kemungkinan terbatas: tidak mungkin untuk menyesuaikan dengan tepat cara pemandangan 3D ditampilkan, tidak seperti Qt 3D. Secara khusus, satu-satunya mesin rendering yang saat ini tersedia untuk Qt Quick 3D didasarkan pada satu langkah maju (sekali lagi, tidak seperti Qt 3D).
Walaupun demikian, Qt Quick 3D sudah memiliki sejumlah komponen primitif: Node akan menjadi 3D yang setara dengan Item untuk Qt Quick.
Kamera akan menangani transformasi pemandangan 3D menjadi permukaan 2D, dengan posisi 3D dan proyeksi.
Meskipun komponen View3D adalah satu-satunya yang mewarisi kelas QQuickItem, di C ++, ini adalah satu-satunya yang dapat ditampilkan dalam adegan Qt Quick.
Pemandangan 3D dapat didefinisikan sebagai atau di luar subkomponen View3D; dengan demikian, pemandangan dapat terlihat dari satu Tampilan 3D atau memiliki banyak sudut pandang. View3D mewakili sudut pandang dari komponen kamera.
Untuk saat ini, Qt Quick 3D tidak terintegrasi dengan Qt, modul terkait harus diunduh secara terpisah. Qt 5.12 adalah versi minimum yang dibutuhkan.
Modul harus terintegrasi dengan Qt 5.14, sebagai pratinjau teknologi, dengan dukungan penuh Qt 5.15. Saat ini, mesin rendering baru tidak digunakan untuk semua aplikasi.
sumber: https://blog.qt.io/