本资源包含Qt5 3D官方教程中的示例代码,适合开发者学习和参考,帮助快速掌握Qt5在三维图形开发的应用。
此目录包含为Qt5设计的Qt3D项目:* Qt3D QML绑定 * Qt3D C++ API构建Qt3D
Qt5是一个快速发展的前沿环境。这个分支是我们对它的初步支持,因此也在快速发展中,并且处于前沿状态。
请注意,该分支是实验性的并且没有官方支持。此信息仅供高级用户使用。
关于API稳定性或功能是否正常运行的保证并未提供,请自行承担风险。
首先获取Qt5源代码树和Qt3D主分支:
```
cd ~/depot
git clone ssh://codereview.qt-project.org:29418/qt/qt5.git
cd qt5
./init-repository --module-subset=qtbase,qtsvg,qtdeclarative,qttools,qtxmlpatterns,qtdoc,qlalr,qtrepotools,qtqa,qtlocation,qt3d
git submodule foreach git fetch gerrit && git reset --hard gerrit/master
cd qt3d
scp -p -P 29418 codereview.qt-project.org:hooks/commit-msg .git/hooks/
git fetch gerrit
git checkout --track -b master gerrit/master
```
现在构建Qt5,这也将作为模块构建Qt3D:
```
cd ~/build
mkdir qt5
cd qt5
~/depot/qt5/configure -developer-build -opensource -confirm-license -no-webkit -no-phonon -nomake tests \
-nomake examples -declarative -opengl -svg && make -j 4
```
Qt3D包含的内容
目录结构:
src/threed/ 这是Qt3D项目的主库,包括跨平台GL的抽象、着色器、光照模型等。
src/plugins/ 场景格式加载插件。
src/imports/ QML导入插件。
util/ 在使用Qt3D时有用的各类工具。
examples/ 使用Qt3D QML绑定和Qt3D C++ API的一些示例项目。
demos/ 使用Qt3D QML绑定和Qt3D C++ API的更复杂演示项目。
文档
可以通过make docs生成文档。它们将被放置在构建目录下的doc/html中。
包
本节仅适用于正在开发Qt3D的人士,以了解如何进行打包工作。如果要更改Qt3D pro文件结构,请注意这一部分。
为了构建Qt3D,运行:qmake && make
.pro文件会促使工具链直接将库、QML文件和网格放置到位作为编译过程的一部分。这些文件进入bin/目录,并可从该位置直接运行。
如果您正在做一个开发者版本的构建,插件将以一种方式安装使得Qt可以找到它们。
在构建树之后使用INSTALL_ROOT环境导出调用安装步骤以使所有文件放置到一个受保护的安装树中,准备打包:
```
export INSTALL_ROOT=tmp
make install
```
示例
一些例子需要assimp库来解析内容。从http://assimp.sourceforge.net/下载并构建和安装该库。然后配置Qt3D包含assimp,并运行qmake && make。