A Qt 6 nyilvánosságra kerül, és ennek a verziónak a részletei pontosak, különösen 3D-s szinten. Nos, egy bejelentésben olyan emberek, akik a fejlesztésért felelnek kiadott egy új API-t a 3D-hez a Qt Quick-ben: Qt Quick 3D.
Ez versenyezne a Qt 3D-vel, egy már teljes Qt-val integrált motor, még akkor is, ha mindkettő ugyanazt az absztrakciót használja. A Qt Quick 3D és a Qt 3D közötti fő különbség az absztrakció szintje lenne, a Qt Quick 3D elvontabb. A Qt 3D fejlesztését folytatni kell, különösen a teljesítmény tekintetében. A Qt Quick 3D-nek azonban helyettesítenie kell a Qt 3D Studio renderelő motorját: A Qt Quick 3D erre az alapra épül. Eszközöket biztosítunk a Qt Quick 3D-re való áttérés megkönnyítésére.
A Qt Quick 3D-ről
A Qt 6 esetében A Qt Quick továbbra is grafikont használ a megjelenítéshez, de lesz kiterjesztése a 3D kezelésére, ezeket a kiterjesztéseket Qt Quick 3D-nek hívják.
Fő célja a 2D és 3D rész közötti szinkronizálás nehézségeinek korlátozása egy felület: jelenleg mindkettőt teljesen más renderelő motorok kezelik, amelyeknek nincs egyszerű szinkronizálási módjuk, ami meglehetősen furcsa renderelést adhat az animációk számára.
Ezenkívül a teljesítményt befolyásolja két különféle motor használata, amelyeket nem kifejezetten együttműködésre terveztek. A Qt Quick 3D-vel a helyzetnek egyszerűbbnek kell lennie: futásidejű, Qt Quick, jelenetgrafikon, 2D és 3D ötvözésével, felületszerkesztő felület, Qt Design Studio.
A Qt Quick 3D API-nak ugyanazokat az elveket kell követnie, mint a Qt Quick API-knak- Könnyen használhatónak, nagy teljesítményűnek kell lennie, anélkül, hogy meg kellene értenie a renderelő motor megvalósításának részleteit.
A Qt Quick 3D nem összetett és specifikus 3D alkalmazásokra szolgál, hanem a legtöbb grafikus felületre, azokra, amelyek a 2D-t és a 3D-t kombinálják. (Végül a renderelő API egyre nagyobb részének láthatónak kell lennie, lehetővé téve a fejlettebb felhasználást.)
A Qt Quick 3D már használható lesz a Qt 5-tel, bár nem a végső formájában (a Qt Quick teljes integrációja bizonyos változásokat igényel a bináris kompatibilitás terén, csak a Qt 6-mal fog megtörténni): először csak egy QML API lesz elérhető , de gyorsan követnie kell egy C ++ API-t.
Szintén Nagyon magas szintű alkatrészeket kínálnak majd.l a 3D tartalom nézetének meghatározása: fények, kamerák, megjelenítendő anyagok, de a megvalósítás részletei nem láthatók.
Ezért az API használatának nagyon egyszerűnek kell lennie, még akkor is, ha korlátozott lehetőségei vannak: a Qt 3D-vel ellentétben nem lesz lehetséges nagyon pontosan alkalmazkodni a 3D jelenet megjelenítéséhez. Különösen az egyetlen megjelenítő motor, amely jelenleg elérhető a Qt Quick 3D számára, egyetlen előrelépésen alapul (ismét, ellentétben a Qt 3D-vel).
Még akkor is, A Qt Quick 3D-nek már számos primitív összetevője van: A csomópont a Qt Quick elem 3D-megfelelője lesz.
A kamera kezeli a 3D jelenet 2D felületdé alakítását, 3D pozícióval és vetítéssel.
Míg a View3D összetevő az egyetlen, amely a QQuickItem osztályt örökli, C ++ nyelven csak ez jeleníthető meg a Qt Quick jelenetben.
A 3D jelenet meghatározható a View3D alkomponensként vagy azon kívül; így egy jelenet látható lehet egyetlen 3D nézetből, vagy több nézőpontja lehet. A View3D a kamera alkatrészének nézőpontját jelenti.
Egyelőre A Qt Quick 3D nincs integrálva a Qt-vel, a megfelelő modult külön kell letölteni. A Qt 5.12 a minimálisan szükséges verzió.
A modulnak integrálódnia kell a Qt 5.14-be, mint technológiai előnézet, teljes Qt 5.15 támogatással. Jelenleg az új renderelő motort nem minden alkalmazásban használják.
forrás: https://blog.qt.io/
Legyen Ön az első hozzászóló