Qt3D
C++ QML QMake GLSL C Prolog
Latest commit 1d5f8b8 Dec 21, 2017 @mkrus mkrus committed with lemirep Add test for QPickEvent private data
QPickEvent carries the id of the picked object in the private pimpl.
This was previously broken (breaking Scene2D) so adding a test to check
it doesn't get dropped in the future

Change-Id: Ic19db84877458329a2e98713805d7294fb2b7185
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Permalink
Failed to load latest commit information.
config.tests Add new version check to config.tests for assimp Apr 11, 2017
dist Merge "Merge remote-tracking branch 'origin/5.9.3' into 5.10.0" into … Nov 21, 2017
examples Fix controls example to look better Nov 17, 2017
src Fix compile warnings Dec 24, 2017
tests Add test for QPickEvent private data Dec 24, 2017
tools qt3d_animation_export.py: fix crash Aug 18, 2017
usecases Unify license header usage Jan 26, 2016
.gitattributes Update the git-archive export options Sep 11, 2012
.gitignore Fix Qt3DAnimation::Animation::Clock::playbackRate Aug 2, 2017
.qmake.conf Bump version Dec 20, 2017
.qt-license-check.exclude Exclude developer qtcreator templates from license checks Jan 1, 2016
.tag Update the git-archive export options Sep 11, 2012
LICENSE.GPL Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" Jun 19, 2016
LICENSE.GPL2 Unify license header usage Jan 26, 2016
LICENSE.GPL3 Unify license header usage Jan 26, 2016
LICENSE.GPL3-EXCEPT Unify license header usage Jan 26, 2016
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" Jun 19, 2016
LICENSE.LGPL3 Unify license header usage Jan 26, 2016
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" Jun 19, 2016
README Add comment about assimp to readme May 24, 2015
config_help.txt Add -qt3d-simd option to enable SIMD instructions Aug 7, 2017
configure.json Added FBX geometry loader Jan 20, 2017
pkg.pri make use of COPIES May 10, 2016
qt3d.pro Convert qt3d to the new configure system Oct 28, 2016
sync.profile Add private module qt3dcoretest Aug 3, 2017

README

This directory contains the Qt3D project for Qt5:
   * Qt3D QML bindings and
   * Qt3D C++ APIs


Building Qt3D
==================

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.

First fetch the Qt5 source tree and Qt3D master branch:

    cd ~/depot
    git clone ssh://codereview.qt-project.org:29418/qt/qt5.git
    cd qt5
    ./init-repository --codereview-username <username> \
        --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

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

Now build Qt5, which will also build Qt3D as a module:

    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


What's in Qt3D
==================

Directory structure:

src/threed/
    This is the main library of the Qt3D project, containing abstractions
    for cross-platform GL, shaders, lighting models, and so on.
src/plugins/
    Scene format loading plugins.
src/imports/
    QML import plugins.
util/
    Various utilities that are useful when working with Qt3D.
examples/
    Some examples of using Qt3D QML bindings and Qt3D C++ API.
demos/
    Some more complex demos of using Qt3D QML bindings and Qt3D C++ API.
tests/auto/qml3d/
    Unit tests for the QML bindings.
tests/auto/threed/
    Unit tests for the C++ API
doc/
    Documentation.
devices/symbian/
    Symbian deployment file


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

The documentation can be generated with "make docs".  It will be placed
into "doc/html" in the build directory.


Packages
========

This section is only for those developing Qt3D.  Read on to discover how
the building of packages works.  This section is also important if you want to
change how the structure of the Qt3D pro files work.

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.

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
install tree, ready for packaging:

    INSTALL_ROOT=tmp make install


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.