Qt 3D

Qt 3D 提供在 Qt C++ 和 Qt Quick 應用程序中,支持 2D 和 3D 渲染的近實時模擬係統的功能。

Qt 3D 功能被劃分成下列 C++ 模塊:

Qt 3D Core C++ 類

Qt 3D 模塊包含支持近實時仿真係統的功能。

Qt 3D Input C++ 類

Qt 3D Input 模塊提供用於在使用 Qt3D 的應用程序中處理用戶輸入的類。

Qt 3D Logic C++ 類

Qt 3D Logic 模塊使幀能夠與 Qt 3D 後端同步。

Qt 3D Render C++ 類

Qt 3D Render 模塊包含使用 Qt 3D 支持 2D 和 3D 渲染的功能。

下列 C++ 模塊仍在開發,但可用作技術預覽:

Qt 3D Animation C++ 類

Qt 3D Animation 模塊提供一套預構建元素,以幫助您入門 Qt 3D。

Qt 3D Extras C++ 類

Qt 3D Extras 模塊提供一套預構建元素,以幫助您入門 Qt 3D。

Qt 3D Scene2D C++ 類

Qt 3D Scene2D 模塊提供把 Quick2 QML 內容渲染成 Qt 3D 紋理的辦法。

對於 Qt Quick 應用程序,Qt 3D 提供下列 QML 模塊:

Qt 3D Core QML 類型

提供核心 Qt 3D QML 類型。

Qt 3D Input QML 類型

為 Qt 3D 用戶輸入提供 QML 類型。

Qt 3D Logic QML 類型

提供同步幀與 3D 後端的 QML 類型。

Qt 3D Render QML 類型

為渲染提供 Qt 3D QML 類型。

下列 QML 模塊仍在開發,但可用作技術預覽:

Qt 3D Extras QML 類型

為 Extras 模塊提供 Qt 3D QML 類型。

Qt 3D Qt3DAnimation QML 類型

為動畫模塊提供 Qt 3D QML 類型。

Qt 3D Scene2D QML 類型

為 Scene2D 模塊提供 Qt 3D QML 類型。

Qt 3D Scene3D QML 類型

為 Scene3D 模塊提供 Qt 3D QML 類型。

快速入門

對於履行 2D 或 3D 渲染,碰撞檢測及處理用戶輸入的 C++ 應用程序而言,把下列行添加到其 qmake .pro 文件:

QT += 3dcore 3drender 3dinput 3dlogic 3dextras 3danimation
					

要包括模塊類定義,使用以下指令:

#include <Qt3DCore>
#include <Qt3DRender>
#include <Qt3DInput>
#include <Qt3DLogic>
#include <Qt3DExtras>
#include <Qt3DAnimation>
					

Qt Quick 應用程序還需額外依賴:

QT += 3dcore 3drender 3dinput 3dlogic 3dextras qml quick 3dquick 3danimation
					
					

概述

Qt 3D 高級設計、動機的描述在 Qt 3D 概述 。Qt 3D 渲染方麵提供對數據驅動配置的支持,作為描述在 Qt 3D 渲染 FrameGraph .

參考

Qt 3D 平颱支持

Qt 3D 支持下列平颱:

  • 微軟 Windows (win32) - 支持
  • Linux X11 - 支持
  • macOS - 支持 (盡管可能有一些視網膜比例縮放問題)
  • Android - 支持
  • 嵌入式 Linux - 支持
  • iOS - 從 Qt5.7 起支持
  • WinRT - 尚不支持

許可和歸屬

Qt 3D 在商業許可下是可用的來自 Qt 公司 。此外,它是可用的根據 GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

此外,Qt 3D 包含的第 3 方模塊遵循下列準許許可:

Dear ImGui - ProggyClean.ttf

MIT 許可

Dear ImGui - stb

MIT 許可或公共領域

Dear ImGui,第 v1.66b 版

MIT 許可

開放資産導入庫,第 5.0.1 版

BSD 3 條款新 (或修訂) 許可