README 3.21 KB
Newer Older
1
This directory contains the Qt3D project for Qt5:
2
   * Qt3D QML bindings and
Sarah Smith's avatar
Sarah Smith committed
3
   * Qt3D C++ APIs
4

Sarah Smith's avatar
Sarah Smith committed
5

6
Building Qt3D
Sarah Smith's avatar
Sarah Smith committed
7
==================
8

9 10 11 12 13 14 15 16 17
Qt5 is a rapidly changing bleeding edge environment.  This branch is our initial
support for it and thus is also rapidly changing and bleeding edge.

This branch is experimental, and unsupported.  This information is provided for
advanced use only.

No guarantees about API stability or even if this works at all are supplied, use
at your own risk.

18
First fetch the Qt5 source tree and Qt3D master branch:
19 20 21 22 23

    cd ~/depot
    git clone ssh://codereview.qt-project.org:29418/qt/qt5.git
    cd qt5
    ./init-repository --codereview-username <username> \
24
        --module-subset=qtbase,qtsvg,qtdeclarative,qttools,qtxmlpatterns,qtdoc,qlalr,qtrepotools,qtqa,qtlocation,qt3d
25
    git submodule foreach "git fetch gerrit && git reset --hard gerrit/master"
26
    cd qt3d
27 28
    scp -p -P 29418 codereview.qt-project.org:hooks/commit-msg .git/hooks/
    git fetch gerrit
29
    git checkout --track -b master gerrit/master
30 31 32

If you are reading this file then somehow you probably already got this far anyway.

33
Now build Qt5, which will also build Qt3D as a module:
34 35 36 37

    cd ~/build
    mkdir qt5
    cd qt5
38 39
    ~/depot/qt5/configure -developer-build -opensource -confirm-license -no-webkit -no-phonon -nomake tests \
        -nomake examples -declarative -opengl -svg && make -j 4
Sarah Smith's avatar
Sarah Smith committed
40 41


42
What's in Qt3D
Sarah Smith's avatar
Sarah Smith committed
43
==================
44 45 46 47

Directory structure:

src/threed/
Sarah Smith's avatar
Sarah Smith committed
48
    This is the main library of the Qt3D project, containing abstractions
49 50 51 52 53 54
    for cross-platform GL, shaders, lighting models, and so on.
src/plugins/
    Scene format loading plugins.
src/imports/
    QML import plugins.
util/
Sarah Smith's avatar
Sarah Smith committed
55
    Various utilities that are useful when working with Qt3D.
56
examples/
57
    Some examples of using Qt3D QML bindings and Qt3D C++ API.
58
demos/
59
    Some more complex demos of using Qt3D QML bindings and Qt3D C++ API.
Sarah Smith's avatar
Sarah Smith committed
60
tests/auto/qml3d/
61
    Unit tests for the QML bindings.
Sarah Smith's avatar
Sarah Smith committed
62
tests/auto/threed/
63
    Unit tests for the C++ API
64 65 66 67 68
doc/
    Documentation.
devices/symbian/
    Symbian deployment file

Sarah Smith's avatar
Sarah Smith committed
69 70 71 72

Documentation
=============

73 74
The documentation can be generated with "make docs".  It will be placed
into "doc/html" in the build directory.
Sarah Smith's avatar
Sarah Smith committed
75 76 77 78 79


Packages
========

80
This section is only for those developing Qt3D.  Read on to discover how
Sarah Smith's avatar
Sarah Smith committed
81
the building of packages works.  This section is also important if you want to
82
change how the structure of the Qt3D pro files work.
Sarah Smith's avatar
Sarah Smith committed
83

84 85 86 87 88 89 90 91 92
To build Qt3D, run:

    qmake && make

The .pro files will cause the toolchain to place the libraries, QML files and
meshes of Qt3D directly into place, as part of the compile process.  The files
go into the bin/ directory, and the executables can be run directly from there.
If you are doing a developer build, plugins will be installed in such a way
that Qt will find them.
Sarah Smith's avatar
Sarah Smith committed
93 94 95

After building the tree the install step is invoked using the INSTALL_ROOT environment
export to cause the installation rules to place all the files into a sandboxed
96 97 98
install tree, ready for packaging:

    INSTALL_ROOT=tmp make install
99 100 101 102 103 104 105 106


Examples
========

Some examples require assimp library to parse the content. Go to http://assimp.sourceforge.net/
and build and install the assimp library. Then configure Qt3D to include assimp and
run qmake && make.