| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using events can be problematic as they contribute to flooding
of the event queue leading to issues with running animations.
So we now use an actual animation which runs in a loop and triggers
every 1ms (rendering still vsync locked though).
If animation have not been enabled for the qt build, we fall back
to using events as before.
Tests were changes since frame progress is no longer driven by
events, so processEvents does not trigger a frame update.
Change-Id: I89b11862ef432dffae0c3dfb140eedd61754697e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
restartIndex property has been renamed to restartIndexValue
primitiveRestart property has been renamed to primitiveRestartEnabled
Fixes: QTBUG-70433
Change-Id: Ide5d01407d76bed752fb0bcaa8258e58871fafb1
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- viewAll was not supported for orthographic projection mode
- Fix viewAll for perspective projection mode
- the bounding volume was not fully visible in the render view
after applying viewAll
Task-number: QTBUG-80078
Change-Id: Ibf7486e41b02997b6b7426bde9a86b2d6c0d2e06
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I7981e7e4b514e5d15d66c82351f1ab2fe160d20d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Can be activated at adding a QDebugOverlay in the frame graph to
identify which surface it should be renderer one (renders only
once on first branch that contains such a node).
Can be also activated on the forward renderer from Qt3DExtras.
- Shows information about FPS and number of
jobs/renderviews/commands/vertices/entities/geometries/textures...
- Allows to toggle job and gl call tracing and open folder where
trace files are stored
- Windows to show and dump glinfo and renderview/command details to the
console
Change-Id: I286ff85760e8f8f0604a23458883ff22229bda94
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
with QNetworkReply::networkError().
Task-number: QTBUG-80369
Change-Id: I6ab7e6b68b1bad33fc4c410894f6ba62d940255d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: If981333f7a3d78028d4f08c59867453d4192b955
Task-number: QTBUG-81058
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ibe0b38df62700608135788331adfcb7fa28159a7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
prints to the console, also dump the list of paths in the frame graph
to help understand render views.
Change-Id: Ic4756e09545971b224a239fafc6667b0ca3d4572
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Merely addding
DEFINES -= BUILD_QT3D_MODULE
to an example results in a deprecation warnings flood despite
the example not using any deprecrated API since for example
the flag operators and usages in the headers cause warnings by itself.
Remove the deprecation from smart pointer typedefs (it should
be sufficient to deprecate the pointee class) and disable warnings
for usages of deprecated enumerations.
This change silences the build of the simple-cpp example with
BUILD_QT3D_MODULE removed, more changes might be required to fix
the report.
Task-number: QTBUG-81058
Change-Id: Ie70c14cfef024a25b6b1330fe013ce57c69dc962
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the deprecation introduced by
6e448dd5918c70ddfd0d52f62522fa49c02e8ba8 since it does not compile
with MSVC nor the clang parsers used for qdoc and Qt for Python on
Windows. It should be sufficient to deprecate the pointee class. Note
the error does not show within Qt3D since the define BUILD_QT3D_MODULE
in .qmake.conf causes Q3D_DECL_DEPRECATED to be empty.
Task-number: QTBUG-81058
Change-Id: I844cbdabc8cdd2155e7ae9c6058d93a4dd826434
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|\|
| |
| |
| | |
Change-Id: I41981a6e58046ad1b8e9870c789f6d46dce9accc
|
| |
| |
| |
| |
| |
| |
| |
| | |
The previous Z offset was too large because it sometimes caused the text
to be placed on top of objects it was supposed to be under.
Change-Id: I99bde5a93ea8c6443b1195d818075cebf3d082a4
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We used to perform uniform minization between adjacent render commands all the time.
Since this can yield to a higher CPU usages (but more efficient rendering submission),
we now make this step optional.
[ChangeLog] QSortPolicy add Uniform mode (to control whether uniform minization
should be performed)
Change-Id: I5c0e0dba22400a9884ee1d75426fd76b073fdcb5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add methods to:
- Reveal folder where trace files are saved in the file browser
- Dump the output of commands to the console
Change-Id: Iaad76b4db93dbf60df170aa53212a8f4df1b2283
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: Iee3ca407250b942208f3beaf21d0e58a632f1095
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
EntityRenderCommandData would only be released in a separate job than the one
it was allocated in. However this would only happen if there was at least a
single renderable objects after filtering. In case there was no renderable
following filtering, the EntityRenderCommandData was leaked.
To fix the issue and make it less error prone, we now switch to using shared
pointers to avoid having to handle all possible leak cases with raw pointers.
Change-Id: I842d50d2b35ebba8303f6d6c4e72a2427ce31da3
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|/ /
| |
| |
| |
| | |
Change-Id: I6cf9007132aa9867fd7046e7e641d849ee141e28
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
Useful for tracking amount of work done
Change-Id: I1d6e0394c35fffc4b33991373e4d16e4651987c7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Always compile in AspectCommandDebugger and CommandExecuter
- AspectCommandDebugger start when QT3D_COMMAND_SERVER_ENABLED is set
- System information service becomes entry point for commands
from the debugger
- Added commands to enable and disable tracing
Change-Id: Ic0d7fe72fa8a118a43ca348ca4284595a71827a4
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Work was done in postFrame() in main thread anyway, so reduce
amount of jobs slightly
Change-Id: I8bbb3efcaf9246eb8df1033bde133bc16233f889
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|\|
| |
| |
| | |
Change-Id: I5a5b1d497430afdd0fe11933832a2477a7efbe30
|
| |
| |
| |
| |
| | |
Change-Id: I368935178c285b9beb609083b93ae4621c70e28e
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The DistantFieldTextRenderer of a QText2DEntity was not properly updated
for empty strings.
The dereferencing of previous QGlyphRuns needs to be done before the
number of DistantFieldTextRenderers is adjusted as a
DistandFieldTextRenderer may be the parent of a QTextureAtlas that is
referenced by a Glyph.
Task-number: QTBUG-80569
Change-Id: I0dba8b749148bef088864dc7200ae0513965745a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| |\
| | |
| | |
| | | |
Change-Id: Ibf5f508eec94be4bae2df3ce2e1511de696dcd72
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using OnDemand rendering, Scene3D would lock if nothing in
the scene were to change. By being blocked, it would also not
process jobs for other aspects (input, logics). That would prevent
things like a CameraController from running, which in turn would
make it impossible to move the camera and trigger a change in the
scene to request rendering.
Additionally, Scene3D would ignore whether the Qt3D renderer actually
needed rendering or not as it was watching on its own the changeArbiter
for changes to decide whether rendering was required or not. This would
ignore the case where Qt3D needs multiple frames to render a correct frame
(e.g loading buffers, shaders at frame n, rebuilding commands at frame n+1)
Scene3D now asks the Qt3D renderer by calling the shouldRender() function
to decide whether rendering is needed or not, in addition to watching the
changeArbiter.
Regardless of whether rendering is needed, it now let each aspect process
jobs. This ensures things like FrameAction/Input are processed.
Then, Scene3D decides whether full rendering is required or whether
it only has to be called to allow the Qt3D simulation loop to proceed for the
next frame. If the latter, it does it so as not to have QtQuick trigger a
redraw.
Change-Id: I870f773c224286d6b7ec0f6045319e51e09cbf8e
Task-number: QTBUG-80521
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previous fix was not closing the loop on every primitive,
just the last one.
Task-number: QTBUG-71919
Change-Id: I22d52258477b0c4777118ee36a0b3868da982885
Reviewed-by: Volker Enderlein <volker.enderlein@ifm-chemnitz.de>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously were checking that the attribute was actually but due to
refactoring the shader is not yet examined at this point.
With this change, we always get the estimated number of points from
the attributes. Potentially it means we're getting it from an attribute
that is not being used but the user should then set the correct number
on the geometry renderer anyway.
Task-number: QTBUG-80697
Change-Id: Ie34131fe3ff41b34609a2f2eb95c4ff678424036
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Quote the option, fixing g++ 8.3 warning about:
qquaternionanimation.cpp: In member function ‘void Qt3DCore::Quick::QQuaternionAnimation::setType(Qt3DCore::Quick::QQuaternionAnimation::Type)’:
qquaternionanimation.cpp:147:44: warning: missing option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
QT_WARNING_DISABLE_GCC(-Wcast-function-type) ^
qquaternionanimation.cpp:148:107: warning: cast between incompatible function types from ‘QVariant (*)(const QQuaternion&, const QQuaternion&, qreal)’ {aka ‘QVariant (*)(const QQuaternion&, const QQuaternion&, double)’} to ‘QVariantAnimation::Interpolator’ {aka ‘QVariant (*)(const void*, const void*, double)’} [-Wcast-function-type]
d->interpolator = reinterpret_cast<QVariantAnimation::Interpolator>(&q_quaternionNlerpInterpolator);
Amends 698bd5f22c79ecf777a0abe57a36676dc49fa8f3.
Change-Id: Ia68e2b5b198e658ef7ce9e930d8f3d4bd77fd2d2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-73095
Change-Id: I843b0376ed0e4ece6ef949acb596a0303aac977d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Scaling the rbg colors with the calculated distance field alpha value can
result in faint text and different colors across the same text. These
issues are most obvious when the text is small.
Change-Id: Ia12e54e3f344cb918575739a15e519e34d67e0f1
Reviewed-by: Wieland Hagen <wieland.hagen@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-71919
Change-Id: If7923fab6c43f5d7139d1bbdceb73c17bf489099
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removes the jobs who's only purpose was to send a message to the frontend.
Now added a jobsDone() call to render which is called from main thread
when jobs are completed, so it's safe to sync data to frontend.
Added a task trace for the backend to front end synching.
Change-Id: I587462bea353c5d5a0065b542adcacef4dedb05f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I999dfbb5c139ff8af2b1de9255f76ac132ae2dc0
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9fe77a56fdc754132cf5da0e3e2361f62dc9a857
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Device pixel ratio was not set on the renderview, so it was always 1.
Setting it reveal a bug where the surface size was being adjusted using
the pixel ratio. However, the surface size is already in actual pixels.
Change-Id: Ia00b2adedb547ec4fa493e1731794d1d8b6a6a18
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Moved most of the code QSystemInformationService (private class
for now)
- Tracing can be enabled by setting QT3D_TRACE_ENABLED or
calling QSystemInformationService::setTraceEnabled(bool)
- Introduced QTaskLogger class to easy logging (RAII)
Change-Id: I2a3e08e4371fcee3e9ef3cf575725f13f57d1a94
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Deprecates the message classes and the public APIs to send/receive them.
(deprecates the constructors as deprecating classes breaks syncqt)
Change-Id: I4908f15c3c5f1d63969a0f2e11f6ecb22e2e3748
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: I6682d27cc7c4f54158fa6813b1de6edce77bea33
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids having to check for each uniform (for each frame, each geometry)
whether it is a standard uniform or a user defined one.
Change-Id: I76cff7869aacc1343a9acf991f8035b8118581ed
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Was needlessly creating a second glHelper instance
Change-Id: Id2e7f4a7be77b52cef628ba84ae4a1ff4a3d3b2e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids repeating that process over and over again in
the submission phase.
Change-Id: Ie2fa36842cd7280f7c966381238e90dd2dbaa821
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Try to give at least 100 entities per worker.
Ideally we'd find a way to only add the required number
of jobs but ThreadPooler doesn't easily allow that.
Change-Id: Ieaf21b66eefd6c3e3b85b949917ea93b73834838
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes the post command update synchronization job a lot
faster.
Change-Id: I845c39cd4e2c0e56e8eefa05bbdd20d0bc3d2454
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This should ensure we don't have too many idling threads
Change-Id: Ia533fc07140a4944a1149aca1565b0d8ae3cda22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Was private in 5.14, should remain so in 5.15
Change-Id: I74231d349e60f498d8ffb4ff39cc1e95fa3f0567
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8f3fe9475749f10f33c8eb750befa8845ccc37d6
(cherry picked from commit 58db7d01e0d424fdf46baa70e2e41b8009429c78)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This defines to empty when building Qt3D, and deprecated
attribute otherwise.
Change-Id: Ic36a020a7c43962ac4313efd72a941e5f74f4e99
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6527c96bfdb484a0dc95565cb2533a4d47b819e7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|