| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I0a8d20081912f3ff9a037cab74702581b3b02613
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
QML: Importing Qt3D.Scene2D doesn't work, QtQuick.Scene2D does.
CPP: Specify header file, as convenience header doesn't exist.
Task-number: QTBUG-67370
Change-Id: Ia53e92c076f52bbb81b91370425279c44bf9e3c5
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use the SurfaceLocker only when using ANGLE. Don't lock the texture when
using ANGLE.
Task-number: QTBUG-69039
Change-Id: Ib95fcf05febe1ec9c3ddc225932b5e8d15dc6937
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-68933
Change-Id: I4226b8b9d70548b6921948c5ea47520f40f5df98
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
| |
Change-Id: I349a6ea5440aef5bc354ce90bc24284407893c60
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Always clear the window. This enables transparency.
Task-number: QT3DS-1497
Change-Id: I2186771ee81963f599048a74b8778fcfead4c75a
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlIncubator was used in the code, but not included.
Change-Id: Ie31be9578c24ae39ca0685fd8b4a050df6680bee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Nikita Krupitskas <nkrupitskas@luxoft.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Svetlana Abramenkova <sabramenkova@luxoft.com>
Reviewed-by: Nikolay Zamotaev <nzamotaev@luxoft.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Adds Scene3D as QML module.
Provides preliminary documentation for Scene3D QML type.
Task-number: QTBUG-61651
Task-number: QTBUG-54816
Change-Id: I2811bb2165ca0adde574ddde70fa7185b3c03083
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
| |
By passing "this" as connect's third parameter we make sure that the
lambda in question is not called on destroyed objects.
Task-number: QTBUG-67324
Change-Id: I05c45b2ab7b4c81bbf462587515779cf4ef88232
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit c8964b8f1cf56718a189b0f57bad446cec30a8b8.
QDoc now supports documentation-specific custom module headers
and include headers that allow us to keep using a single
documentation project that covers multiple modules.
Change-Id: I84706a7149097a6b03f0f266e55d6f712a6c773e
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do make it explicit which ones are still in development
also in the landing page, and add \preliminary and \since
tags (for released and TP modules, respectively).
Note that the \preliminary, \since tags currently do
not work for \qmlmodule, which hopefully gets fixed at
one point: QTBUG-65963.
Change-Id: I6648311c38f331286be37eefa60794984cd239b7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
| |
Change-Id: I8466ccd47f8bda9fec184f548a2df7807d456ac7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 46319648436814afb5a77755dde6681e304befaf.
We want to be able to render one set of RenderViews for frame n while
concurrently building RenderViews for frame n + 1. The reverted commit removed
that behavior which reduced the CPU time available to prepare a frame.
This would cause on some scenes a failure to meet the ~10ms budget we have to
prepare a frame. This is therefore a regression. The root cause behind this
regression is that a job cannot be executed until all the jobs which have been
previously launched have completed.
The proposed solution would be to instead add an OpenGL command thread that
can be used to load graphics resources required for the RenderViews directly
when required. This would in turn allow to cache RenderViews and keep the
concurrent behavior of RenderView submission and creation.
With that goal in mind, the following patches will be rebased and updated
https://codereview.qt-project.org/#/c/189309/
https://codereview.qt-project.org/#/c/189310/
Change-Id: I4879047c45986a0e615e3aef7b7352f82a04a9da
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes multiple QDoc warnings for Qt 3D Core that are
related to how Clang parses the source code and the \fn QDoc
commands.
We still have a number of 'No documentation for ...' warnings left -
those are not addressed in this change.
Change-Id: Ia6394f453d7bd959bc4d4cc9347ac0039b80f661
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/animation/doc/src/qt3danimation-module.qdoc
src/render/backend/abstractrenderer_p.h
src/render/backend/buffervisitor_p.h
src/render/backend/renderer.cpp
src/render/backend/renderer_p.h
src/render/backend/triangleboundingvolume_p.h
src/render/backend/trianglesextractor_p.h
src/render/frontend/sphere_p.h
src/render/jobs/calcboundingvolumejob.cpp
src/render/jobs/job_common_p.h
src/render/jobs/pickboundingvolumejob.cpp
src/render/jobs/pickboundingvolumejob_p.h
src/render/jobs/pickboundingvolumeutils.cpp
src/render/jobs/renderviewjobutils_p.h
tests/auto/render/boundingsphere/tst_boundingsphere.cpp
tests/auto/render/commons/testrenderer.h
tests/auto/render/raycasting/tst_raycasting.cpp
tests/auto/render/render.pro
tests/auto/render/renderer/tst_renderer.cpp
Change-Id: I76633bc5a5a065e5f9ea62cc16563377e5c693a3
|
| |\
| | |
| | |
| | | |
Change-Id: I72fdfb9a20be2f819542243e888756818b03c28e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The resource manager policy for scene2d nodes has been changed so the
scene2d constructor gets called multiple times at startup. That in turn
increments render thread user counter every time. The cleanup code gets
called for each instanciated QScene2D node so at shutdown the counter
never reaches zero and the render thread is not closed properly. Change
the implementation so that the counter gets incremented only when the
render thread has been properly initialized.
Task-number: QTBUG-66003
Change-Id: I33a5b1f407e65329776bcabe0b66ff049581a435
Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I19b3b2f8fcb06eb2bc600ebe370465dd15a8eabc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes sure that jobs that depend on a specific state of the
renderer (such as context being initialized) never run before this
is the case. This reduces the number of possible race conditions
and checks we need to do to ensure the jobs and the renderer are in
the correct state.
This way we no longer swap buffers when nothing has been rendered,
which in turn makes sure that we only draw one frame when the
render policy is OnDemand and there are no changes.
This change also adds a number of assertions on pointers to
resources to make it easier to detect missing job dependencies.
Finally, this change overhauls the job dependencies in
Renderer and RenderViewBuilder.
Task-number: QTBUG-66024
Change-Id: I3e4e9dd0dd53b5c88f5c1b17d68df42f28eae794
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/render/backend/renderer.cpp
src/render/backend/renderer_p.h
tests/auto/render/renderer/tst_renderer.cpp
Done-with: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
Change-Id: I2ca9bac4777e51434579edf86030414734f533ac
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The resource manager policy for scene2d nodes has been changed so the
scene2d constructor gets called multiple times at startup. That in turn
increments render thread user counter every time. The cleanup code gets
called for each instanciated QScene2D node so at shutdown the counter
never reaches zero and the render thread is not closed properly. Change
the implementation so that the counter gets incremented only when the
render thread has been properly initialized.
Task-number: QTBUG-66003
Change-Id: I33a5b1f407e65329776bcabe0b66ff049581a435
Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
(cherry picked from commit 564dfd87c5b1317dcf9fbc4d1c8d858c72513421)
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QDoc in Qt 5.11 will use Clang (libclang) to parse C++ documentation.
In order to do that, Clang needs to have the include paths available
when parsing source; qmake provides that information to QDoc but only
when the documentation project is located under the correct module
(source) path.
By having dedicated doc projects for Qt 3D Core, Render, Input, etc.
the number of documentation warnings is signicantly reduced. A
top-level 'Qt 3D' project is still kept, and contains the landing page,
overview, examples, and top-level 'C++ classes' and 'QML types' pages
that list all types documented across all Qt 3D submodules.
Change-Id: Id5936de36f31c2a8764a64e1e9d7ae0d10e8ab14
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RayCaster and ScreenRayCaster can have a number of layers which are
used to control how entities with the matching layers are handled
for ray casting. Similar rules apply as for LayerFilter in the frame
graph.
Change-Id: I9f666563a686ac99d7f178da33a539ba9edef51b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Overrides hits property with QJSValue that can be interpreted from
Javascript
Change-Id: I8795b1fc9fdf4f36357c4bb5c8c5d0b7c5fd6c75
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/render/backend/renderer_p.h
src/render/geometry/geometryrenderer.cpp
src/render/geometry/qmesh.cpp
src/render/geometry/qmesh_p.h
tests/auto/render/commons/testrenderer.h
tests/auto/render/meshfunctors/tst_meshfunctors.cpp
tests/auto/render/qmesh/tst_qmesh.cpp
Change-Id: Ia078029e2faf23fe253c5ce385e393c094266e3b
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/render/backend/renderer.cpp
Change-Id: I691f54cd6daef8a966df37d447164c94badce34c
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I9c8aa5d2010fcc622b9cce3031e58a46b74ea2fa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It appears that the pointer value for the window could in some cases be
updated meanwhile we were rendering, which resulted in random crashes.
We now save the window pointer to a member variable on startup or whenever the
windowChanged signal is fired and use a mutex to ensure the pointer won't
change while we are rendering.
This also covers the case where the item is destroyed but the cross-thread
signals are not received before rendering happens.
Task-number: QTBUG-63897
Task-number: QTBUG-65407
Change-Id: I5f2797e2210b532f9086ed186959fce27ea9f514
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using Scene3D, when the jobs preparing the render commands for the 3D
scene take too long (more than the QtQuick refresh rate), the Scene3D wouldn't
render anything when QtQuick requested it to. Then, the next time
it would be asked to render (next QtQuick frame), if the jobs have finished by
then, it will render. If the jobs are still not ready, then the above process
is repeated.
This patch introduces an environment variable SCENE3D_BLOCKING_RENDERMODE which
can be set to force Scene3D to wait (for at most 10ms) instead of returning
immediately for the jobs being ready.
Change-Id: I2db10e622570a7bc8a2e2cbaff113c110135cd3e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/animation/backend/handle_types_p.h
src/extras/defaults/qtexturematerial.h
src/render/backend/entity_p.h
src/render/backend/handle_types_p.h
src/render/backend/renderview.cpp
src/render/io/scenemanager.cpp
Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Propagate the dpr to the QRenderSurfaceSelector in
addition to the the item size.
Task-number: QTBUG-62235
Change-Id: I6555685392334b8edf2327fae97d5d531cffeaae
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qtdeclarative/60d589ccddb036e84883a6c2ef63a5292c8ad022 changed
QQmlInstanceModel::object() to take an enumeration.
Task-number: QTBUG-61537
Change-Id: I2fab7e80b728f9265e201f47614a79167199667f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was apparently needed for older MinGW-w64 headers that did not
properly define some common system functions otherwise. Anyhow, it is
not required anymore for newer MinGW-w64, and actually breaks
compilation with gcc 6 and newer: There we enable shift-overflow=2,
which also warns about shifting into the sign bit for C++11, but not
for C++14.
Task-number: QTBUG-60249
Change-Id: I53bc858c6f8baf9b60940904b3b28f7a49ab28e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ib51c8311ce78b2fec62dd0c09cb943a85a7d0b2b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It appears that the pointer value for the window could in some cases be
updated meanwhile we were rendering, which resulted in random crashes.
We now save the window pointer to a member variable on startup or whenever the
windowChanged signal is fired and use a mutex to ensure the pointer won't
change while we are rendering.
Change-Id: I93ade6bd549886b75140484c83fe59187d47ed9f
Task-number: QTBUG-63897
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ia6496e1ea22f2393a28e37cdd9f6e34f7613db49
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This one reconfigures its graph layers and render states properly based
on it properties. As such it covers all the features coming from the
various phong materials we had in the past. That's why they are all
marked as deprecated.
Change-Id: I9a74639d4cff5170b496d475c8a74b1e4e163b03
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/animation/backend/channelmapper_p.h
Change-Id: I4e0f59c6648925ba45d30ccc2405524a9e901a0e
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I910d1fa7099dc726e022cbf35702b0b58fbac64e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ifdf71e3c33a7d1a6c100bba65722625ea19e0b81
|
| |\|
| | |
| | |
| | | |
Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If not, some aspect's library might not have been loaded yet,
when the QQmlAspectEngine is created. This means that their
static aspect registration code will not have been run, causing
the QAspectFactory to not include it in the defaultAspects when
it is created.
Following calls to QQmlAspectEngine::registerAspect() will fail,
because the engine was created too early.
Change-Id: I96dc8a972dc4fbd1cf3a8d2d91067d59e0d72e57
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a complete drop in replacement now, no need to keep code for
both. We use inheritance so that properties in QMetalRoughMaterial can
be versioned properly.
Change-Id: Ia95b40c5abd466fbb20e5b15ca4e6d167fb80ec3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Both QMetalRoughMaterial and QTexturedMetalRoughMaterial use the same
graph now. Also QMetalRoughMaterial does the job to be clever and
activate the right layers depending on the type set on the properties
(which is why they are now all variants).
QMetalRoughMaterial can then be used as a drop in replacement for
QTexturedMetalRoughMaterial.
Change-Id: Ia52fe4608aca5558642599ed435f3cd9ac93e651
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5fe5f7e41b49354075f410993bfa51897fde9bce
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In preparation for the new mapping subclasses.
Change-Id: I3d659b350da72cca9f5ad195f7aa7fea3d943810
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ieacfbfb25de4840d7c428f89cd1f7d178852036e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|