| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Ie3dec5105059cbbfe1bf104dac4458020e75538b
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4049
Change-Id: I655de11b904a8828d7c428f91c0874e74106fdf5
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add skipFramesInterval property into Q3DSViewerSettings.
This property can be used to limit the rendering framerate,
decreasing the CPU/GPU usage.
Task-number: QT3DS-4088
Change-Id: Icbf5cf208b663dbef1df6096994b94686571e357
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In progressive mode, single eye is rendered per frame. So full
rendering of stereoscopic view takes 2 frames. This mode can be
enabled from Q3DSViewerSettings, and for viewer from menu or
with "--enableprogressivestereo" command-line parameter.
Task-number: QT3DS-4076
Change-Id: Ie69e37da028743164b959036136485b88c61b009
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added shader cache load error generation to some cases where it was
missing.
Properly pass the error to surface viewer.
If there was a cache load error, allow exporting the generated cache.
Added overloads to generate shader cache with specified compression
level.
Change-Id: I06d56114918ada23d46474e9466f6031ad8037e2
Fixes: QT3DS-4071
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the case of client (ineffectively) setting a value before
presentation is ready, and then trying to set same value later again. This
causes discard when the the incoming value is compared to the cached
value.
Task-id: QT3DS-3987
Change-Id: If41e0140a26514e5f5cf0f427d6c3d59090e2d43
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
| |
Fixes: QT3DS-4068
Change-Id: I561413bd24a1401e36373aa88399ddf95c6af623
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Returns texture size and format for layer and material textures. Add
corresponding test.
Task-id: QT3DS-4005
Change-Id: I773715712dc78cf511f6c4d0095f5491834df311
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4040
Change-Id: Ie5f8284ab76cd4aa5f3ff0701457f4ef84c3e215
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
| |
Also move d_ptr variable to private in Q3DSDataInput.
Task-id: QT3DS-4050
Change-Id: I91ded90a413e0e9f78b0d866823a686357e4b908
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Reduce CPU and GPU load by checking if the scene has changed and render
only if it has.
Task-number: QT3DS-4042
Change-Id: I54e447760f04fdad8d64319f326245175b471331
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Make SceneElement slide indexing follow the original NDD scheme where slide
index 1 corresponds to the first slide. (Note that this requires changes
to applications relying on SceneElement client API.) Fix autotests. Add a
remark about indexing in docs.
Task-id: QT3DS-4034
Change-Id: I12328830193a148e2198ad74c450163e9e4600c9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5492e2590195b07e0e582e48a30d87194b372d3d
Fixes: QT3DS-4036
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Show more clearly total runtime & application startup times.
When QT3DS_ENABLE_PERF_LOGGING isn't defined, only these total
times are shown.
Task-number: QT3DS-4028
Change-Id: I1d9fe8bab5ed32584b2ad1c09b14cb01d25dc82f
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4025
Change-Id: If2e3eadd73cf76457a06aaab224843767a31ecff
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
| |
By accident it kinda worked as boolean false = 0 so constructor
QColor(QRgb color) was used for setMatteColor().
Task-number: QT3DS-4013
Change-Id: I1194f5044818ef2d97be5ca3538e2640e5f5dbd2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4001
Change-Id: I9fbb1367999d2a3e3bea6520f9e59a820ef50c28
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
| |
Task-number: QT3DS-3960
Change-Id: I74a48bb170aa15a454ddd285c10ddb5c4f2baf62
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Implement also anaglyph red-cyan & green-magenta stereoscopic modes
for opengl runtime. APIs for C++ and QML. Add options into viewer.
Task-number: QT3DS-3981
Change-Id: Idb9f659b3799e954253e37045c1a3b2a55fb2779
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3712
Change-Id: Ibb751d2ad462685f0ba39cef6a4d932708faac57
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Revision new APIs: asyncInit, shaderCache, exportShaderCache,
stereMode, stereoEyeSeparation, textureId, and addImageProvider.
Also fixed missing array in qt_attribution.json
Task-number: QT3DS-3963
Change-Id: I3fc6ac38ff6f524a5268ad4706f4d0edcc0af6f3
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
This signal is sent after rendering but before the frame swap.
Task-number: QT3DS-3962
Change-Id: I7501df1ad2590da75fac2a9eb3e626ecaffc0158
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Image, subpresentation and layer texture ids are now provided by the
presentation via an element path.
The cached layer texture id is also stabilized. Instead recreating it every
frame, the last effect is just rendered to the premade texture. For each
intermediate effect, a new texture is still created.
Task-number: QT3DS-3959
Change-Id: I2ad2b81be9ae61373a0bfd963501823f012e9fcc
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With QQuickImageProvider the user can make a callback method returning a
custom QPixmap or QImage to the engine without accessing the filesystem.
Texture sourcepaths are set using an image url scheme. For example
"image://colors/blue" where "image://" tells the runtime to look for an
image provider, "colors" is the image provider id and rest are the image
id the provider uses to create the image.
Task-number: QT3DS-3761
Change-Id: I830649359f9969e957a972a0c08d0ede6e46ee78
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently loaded shaders can now cached with an API call in either
source code or binary format.
It is necessary to do it that way as the shader cache can only be
created in the target hardware.
Task-number: QT3DS-3914
Change-Id: I094e8624943904c311ada2259a84b8c183f792f5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The studio and runtime had mixed timing units (seconds and milliseconds)
. This commit unifies the timings to milliseconds. The values are
however kept saved in the UIP file in seconds for backward compatibility
and also cause it is more compact (ex: 1 vs 1000).
Change-Id: Id3515ed90fdb8eb027c581aef9598b02b974a40e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Initial support for top-bottom and left-right stereoscopic rendering
on OpenGL runtime. Add settings into viewer menu to control these.
Task-number: QT3DS-3212
Task-number: QT3DS-3868
Change-Id: I5b22169fd407118998a43c1e601cb60b7e3fd6a8
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3563
Change-Id: Ia19a15b5ffe00e5de7aa8e96136d150b4fbb7b22
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we support transparent scene backgrounds, we should not set
the QQuickWindow::setClearBeforeRendering(false). This will also
allow using Studio3D elements that do not cover the entire window.
Task-number: QT3DS-3740
Change-Id: I8293a5384405d46f721747934d8cc6beeea23e64
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
| |
Change-Id: Ia54802faa760021e3afabc977f6d0bdcee31deca
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store the latest value that was committed (sent out to runtime engine) and
only create setValue call when the incoming value is actually different.
Combined with batching, this should eliminate most performance impacts from
client-side API spamming.
Also, add "force" parameter to setValue C++ interface. It can be used
to force a value change to runtime engine even if the value would be
otherwise discarded.
Change-Id: Iedd4df89a0d45b79f306dfd384745a94df8f26be
Task-id: QT3DS-3861
Task-id: QT3DS-3842
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also set datainput value and dirty flag in Q3DSPresentation so that both
are properly set for value changes from Q3DSDataInput and Q3DSPresentation
APIs both.
Change-Id: Ic7b2aa56a68bbe253de806051a5ab1201d5bec72
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Some platforms can't handle sharing a surface between multiple active
OpenGL contexts, so create a new QOffscreenSurface for asynchronous
initialization purposes.
Task-number: QT3DS-3862
Change-Id: I76f59bb81417c4522d40403dd5597add270dd5fc
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Collect/cache all set value calls to a batch within a frame, effectively
discarding all except the most recent value(s) within a frame period.
This decreases the performance impact of high-frequency value setter calls
from external sources.
Also, remove deprecated functionality from internal datainput setValue
interface.
Change-Id: I4165c97f96a4fe25796eb27d53802fbee507aa6c
Task-id: QT3DS-3857
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Runtime initialization made non-blocking by offloading it to a worker
thread. This causes various object thread affinities in runtime
to be incorrect. This is relevant at least for the singaling,
where having affinity to non-existing initialization thread would
cause signals to not be delivered.
To work around this issue, signal proxy thread affinitions and
signal connections are set after initialization has completed.
Similarly, behavior script QML engine initialization is deferred
so that it can be done in correct thread.
Task-number: QT3DS-3805
Change-Id: Ie8b64f4ecd93e4c422e369e625080652d67bde27
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Group all changes in datainput values on QML side together and send a
single per-frame command. This ameliorates the performance cost of frequent
value updates, especially for projects with large amount of datainputs.
Change-Id: Ib398f405dedb50ad3f5429f42024b3f490114dab
Task-id: QT3DS-3759
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This allows at least showing something on the screen while the
presentation loads. The render thread is still blocked, so only a
static QML scene can be shown.
Task-number: QT3DS-3805
Change-Id: Ib0994b739506a445833b5fa5b39f2f5322dd17d2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Reset source when window changes because it will cause new renderer to be
created and it would not have proper source without it.
- Update the example codes and resources
- Change how the init timer is initialized to get proper result each time
the presentation gets reloaded.
Task-number: QT3DS-3681
Change-Id: I64d4f6980b87b6efcbb906bb4ad241956ce0a7bc
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
| |
Change-Id: I5af22419ff45bb4ddea8f54aa43ed08e5a69b944
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3716
Change-Id: I10d11c66b703aa3f664a2918f7ee04d2208b9acf
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
| |
Change-Id: I60c713eb3a82a2853cd35956c29633903652e115
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Added documentation for the last signals missing documentation. Mainly
copy and paste from Qt3D Runtime but some re-writing.
Task-number: QT3DS-3562
Change-Id: I7f2c19a88921f47ea6d1ede3577595522a2c2b88
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3566
Change-Id: Ibac69008d5d8cc1f495d71cedcdc61af1aaa7bf7
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
| |
Removing todo comment which is already done.
Task-number: QT3DS-3534
Change-Id: Id76547b872e1635f39a26f238e2d667c05447c59
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3691
Change-Id: Ib1239fd53f6b48963109c6e9d5b7a10e1c075795
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|
|
|
|
|
|
|
|
|
| |
.qch generation fails unless the project name matches with
the target directory name.
Change-Id: I391c386afd253dfaf81c2a888d9f0931dff93a83
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The flag is required to disable clearing to black in qml applications,
which support transparency.
Task-number: QT3DS-3689
Task-number: QT3DS-3542
Change-Id: I27b1e07a394be30f0fb4841c69555dde5697a5cf
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Copied from Qt3D runtime docs with some modifications.
Task-number: QT3DS-3561
Change-Id: I67fc9bc59290b34e788cf4a79676c9e04e634979
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3615
Change-Id: If742735c28ab07426819951620c571f59fe17a76
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: Ie23dbee91d129a983d7bfd2700a5fa5a851be641
Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|