| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Update old header.LGPL3 to header.LGPL
Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Also get rid of Qt3DRender::QWindow and of the hard codes camera
controller.
Change-Id: I307735d01caf97b7a690b28de8dc99fc9866c35f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
follow the foo.pri & foo_dependency.pri pattern found in qtbase to
de-duplicate the code (and thus implicitly make it consistent) and
synchronize the conditionals in the configure test.
also document why we still can't enable the assimp sceneparser in all
configurations.
Change-Id: I3bdc30e077b6c9c7027a9311195c08a6c5f1fcf4
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Map to the built-in materials as much as possible.
Task-number: QTBUG-49384
Change-Id: I6c73c0cfcc327323c51ae2f3735cc7f3c53fbfee
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Let's avoid future confusion by using a custom extension for the
main JSON document. In case assimp gets upgraded to a future version
supporting glTF files for example, confusion can arise due to the
conflicting file extensions in the scene parser plugins.
Change-Id: I370cc45cc399cae4f425d86574ccea9cd6c59d4f
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Do not leak the textureContent array.
Change-Id: I9e7ed258206f0485a02482958ba9fcf6396b3170
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I6e588218f02f4d60b196d211e932ce8342588f0a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I79e0b0d62e07a269ebfce99edff56d30da28494c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Fix the documentation issues that still remained broken after
renaming the namespaces/QML modules. Do further cleanup and
minor doc editing.
Change-Id: Iff38c8c1b99e7f712dc3f9ad07ecd37a747b3a26
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|
|
|
|
|
|
|
| |
New simplified QTransform doesn't need these any longer. We now get a
nice reduction in QObject count when dealing with transformations.
Change-Id: I8ba8febada4ad1f05728aa848fb5e70a62028040
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Compound transformations are now built up using QMatrix4x4 in both QML
and C++. Updating examples accordingly.
Change-Id: I03c9abf1f6cdd1b56226dc0e16a7ad5ce84516dd
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the bundled libassimp if we are not cross-compiling
instead of explicitly specifying target platforms. It
allows to build the bundled libassimp for Linux (i386/x86_64).
Actually it should be possible to cross-compile libassimp,
but for now the cross-compilation fails for different reasons,
depending on the target platform.
Change-Id: I892d5eeb4ac5e767519f136a0ed636c0a9f86fa4
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I00e830e05c393e2e137db26b5443de5ec26870c5
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Now Qt3D sceneloaders plugins follow the same pattern as the rest of Qt.
This also makes the loading much more standard and less error prone.
Change-Id: Ibb5aae0a16d9d197a9c34fe2885dd5435e68d7eb
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I1d7241ba8177c664b5d4df4ec50afd2a7c830ff2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This API change is part of an effort to remove anything specific to one
graphics API (in this case OpenGL) from the public APIs. In addition to
the name of the class being changed, the QGraphicsApiFilter::Api has
been refactored to reference the Graphics API, rather than an OpenGL
API. Now this list includes OpenGL, and OpenGLES, but could also include
Vulkan, DirectX, or any other graphics rendering API we wish to support
in the future. Right now the properties in this class are still
reflective of the OpenGL APIs, and may need to be extended with other
properties in the future for other rendering technologies.
The QGraphicsApiFilter::Profile enum has also been changed to be more
more clear. So for now there are enums NoProfile, CoreProfile, and
CompatibilityProfile.
Task-number:QTBUG-49078
Change-Id: Ib5f9c3b7adee5badec6bce8a12b23683eb43b4cb
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395
Task-number: QTBUG-39946
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
This is for consistency between the C++ namespaces and QML imports and
with the other aspects.
Change-Id: I73392f138b4e519b12888f52530123e3d0ba445e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Update other aspects, tests and examples accordingly.
Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic4a69123255c33990765ea3601e01914c2d8cb70
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Updated examples and tests accordingly.
Change-Id: I8848a88472de2302aa072fa11f21ea934672b7e6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Index data will be int when short is not sufficient.
Change-Id: Ic166cf2d073c99cf6c9e269e0cc1e0dac5e835fc
Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I1f13cea4cf864dcf985d1f487e195509de9006e7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change effects both the qgltf tool and the gltfparser.
For the qgltf tool I change the way core profile shaders are defined.
Rather than adding an additional property to the shader object, I create
the necessary shaders, programs, and techniques, as well as add an
additional two properties to the Material so that that multiple
techniques can be used. By default the shaders support OpenGL ES2 and
is compatible with the glTF 0.8 standard.
For the gltfparser, I now create additional QTechniques from the two new
properties attached to the material object when they exist. This allows
for the use of OpenGLFilters to choose which technique to use under
certain situations. So now it is possible to render modules processed
with qgltf in the OpenGL Core profile senario.
Change-Id: Iae10f93a03c29a7bb6fe0a3dfd0d568ba0043f12
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
We support generating gltf files using binary json rather than plain text
with our qgltf tool. This reduces metadata file sizes and load times.
Change-Id: I99a4c270aa4b0b828cddfbdcce02dce206606708
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch includes a new scene parser plugin which enables the loading
of glTF files (using the 0.8 spec) into Qt3D scenes. The gltf example
has been updated to work with the current APIs and the asset files it
used have been updated to match the glTF 0.8 spec requrements.
Previously an unused copy of the GLTF scene parser was located in
render/io. It was being built, but not used as only plugin based
sceneloaders were loaded by the renderer. Now it should be usable and
always available.
Change-Id: Ic2e31e2b63a871559aad9bad90ec2820988a1571
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I17339cfc3b7c05ee915c7b2dae359bf844c15036
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Also added a dataSize property to know the number of components per vertice (1 - 4)
Change-Id: Iaa7cee2a53958ed2ec2f603f3ffc7971c027991d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Switch QAbstractAttribute and QAbstractBuffer to QNode subclasses
- Get rid of all shared pointer when dealing with these (needed to expose to
QML and use the QObject ownership)
- Introduce QGeometryRender, QGeometry, QAttributeProvider,
QAttributeAggregator.
A QMesh component now is:
a QGeometryRenderer which specifies its QGeometry.
The QGeometry refererences n attributes. Each attribute references a QAbstractBuffer.
Change-Id: I49a10c11a605e5fe7c180af86a404f622e763f48
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the assimp library was a dependency that was
always built, but it is possible to use an external
system version if one is available. It is however non-
trivial to provide the dependency on platforms other
than Linux, so now we provide a copy of libassimp for
use when it is not already available.
This commit is a combination of reverting commit
672b3e47299f6ba0034f73b252d0436b55fb3085 which removed
assimp and introduced the scene parser, and adding the
logic to use the system version when available.
Change-Id: Ia05f9a92b8d82f19a0db3588b2bbeafe71404386
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a QAbstractFunctor class which QAbstractMeshFunctor and
QTextureDataFunctor subclass
Make all QAbstractFunctor subclasses implement an id() function (using
QT3D_FUNCTOR(Class)).
Use this id to compare to other QAbstractMeshFunctor and eventually
static_cast into right type if possible using the functor_cast member
function.
Change-Id: Iface956e6cd818cbef204d8fa7bf2bc23c6ffa3f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- introduce QNode::setParent(QNode *)
- QNode created with explicit parent now invoke
QNodePrivate::_q_addChild
- QNode::cleanup introduces, need to be added to the
dtor of every QT3D_CLONABLE QNode subclass. Handles
proper destruction.
- QNode::cleanup added to all classes that should have it.
- Updated unit tests of Nodes, Entity, Scene
Change-Id: Id2c2784122a78edaae5580fe5976d88be5a1921c
Task-number: QTBUG-45947
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
It compiles without, apparently, but it throws off QtCreator's
parser, at least.
Change-Id: I69939cdb3c28f39458488190b1169c152a339ccf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using PKGCONFIG_PRIVATE results in the -L/usr/lib -lassimp being placed
at the end of the linker command line rather than the start as with
PKGCONFIG.
The latter breaks the build if there is an installed system Qt5 of an
older version in the same directory as found by the assimp pkgconfig
file. The breakage is caused by undefined symbols in the older version
of Qt in the system directory.
Change-Id: I691b437eadc8b6fec385374d0910344ed194933b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Respect aiString::length to avoid strlen().
Change-Id: I284d061da1dd62de0dda4b72da417cfbc1e99d85
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Also fixed material loading issue (was using wrong material index)
Note: the flag aiProcess_FlipUVs was required to have textures displayed
correctly.
Change-Id: I3f5b436fad20d6bf50c8e5ddca56f78948b44fec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove multiple \namespace commands for namespace Qt3D. QDoc in 5.5
is now able to collate namespace members from multiple modules.
- Mark 'Q...Private' classes and functions taking private arguments as
\internal
- Use correct \qtvariable for Qt 3D Core and Render
- Add src/plugins directory to Qt 3D Core documentation build to
correctly generate Assimp-related documentation.
- Ensure documentation for C++ properties is visible by
using the \property command instead of documenting the
setter/getter functions.
- Add export and logging macros to qdoc ignore directives
- Remove unnecessary use of \fn command
- Language and styling fixes
Change-Id: I2481fa30ad2f6869b85c038c20ff1730b8522d46
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
There were several bugs in a single place:
- aiCamera::GetCameraMatrix() produces a viewing matrix flipped around Y
- additional QMatrix4x4::lookAt() transformation has been applied
- and moreover, QMatrix4x4::lookAt(.., .., QVector3D(0, 0, 0)) produces
an invalid matrix at all.
Change-Id: Ie2a80810d76df0f0c39c3ae53adfdf52b06aafc1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I171a3e44383f2f5160b24113de6d92725ed19fe9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
This way they are compatible with how mesh and texture source URLs
are handled.
Change-Id: Ifeee504fd3f5957d23f5cade92a73663488bdaf9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Every time the assimp plugin is loaded, that file gets created.
Avoid the create and kill calls since all that achieves is to install
a null logger. According to the assimp docs a null logger is the default
anyhow, so simply remove the two lines.
Change-Id: I12dd50827218dcb07d7d5889398e9daf31789953
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
As for preparation for Qt5.5 release the copyright header is
updated to correspond the current license requirements.
Change-Id: I36632918b66f455539453b42c369689fb11298ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I4c030458ecf15d9620d071573f911052fb5a6973
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
* Added LoadTextureDataJob
* QAbstractTextureProvider: maximum layers property
* Automatic QAbstractTextureProvider::TextureFormat added
* material-qml should work perfectly with that patch.
Change-Id: I3f92f13b783155798772086304a30126a4fc687d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
That enforces to use one of the subclasses.
Change-Id: Idba7300ed322954ba6866c4a262ad4ee74c024e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This is done prior to the whole texture API refactoring.
Doc was also added, might need improvement later on but a base is present at
least.
Change-Id: I75589f14dfbfba7bc4250b2e0960670e020ed38a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I3301a3615443bfd361de97de79b587e22517cf66
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
The following examples now have coloring:
cpp-example
multiviewport
assimp
Change-Id: Ib068ea1f169e5eb924f3b363edd9c4f7f4ef854e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I7cf85692cf86bc0c5a4aceaa3af01f9e0ef3f5ce
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I985366c47d2a1f721761c64b1870850071ace885
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|