| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Initialize data inputs and outputs every time a presentation is loaded.
Task-number: QT3DS-4105
Change-Id: If2e9a6d95cc40109cb48f4d4d8b5dc88f963fb74
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Time-activation is not done for child elements in all cases. Add check for
it in the activation handler.
Task-number: QT3DS-4100
Change-Id: Ib34777afc35db7a0ce6748da01e6feec1de37f5e
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Janne Koskinen <janne.p.koskinen@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>
|
|
|
|
|
|
|
|
|
|
| |
Trigger a load when changing the subpresentation attribute of
a material. Also add the subpresentation to the activity list.
Task-number: QT3DS-4090
Change-Id: Ief5c819bcf5cdf94702ba96e71491c8c898d02a6
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Queue goto time command and skip rollbacking the newly activated slide in
the case we receive both goto time and goto slide commands. Instead, go to
specified time after the slide has been reaactivated (entered).
Task-id: QT3DS-4001
Change-Id: I2dd8d6ec3a42dcd65f40adb7920b34183c50b062
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a boolean property to layer that enables dynamic resizing. The
screen space bounds of the layer content are calculated and the layer
resized to fit the content and exclude empty space.
Padding property is also added that pads the resized layer so that
minimal changes to the content won't trigger another resize. Padding can
be set by pixel amount or by percentage of the size.
To provide accurate 2d bounds, each active objects bounds are projected
separately to the screen. A boolean property to only project combined
bounds is provided but lowers the accuracy while limiting projections to
8.
Known issues:
- Temporal AA doesn't work with resizing correctly
- Temporal AA leaks GPU memory when resizing
- Editor picking doesn't work correctly with dynamically resized layers
- Render to viewport doesn't yet support resizing
Task-number: QT3DS-4030
Change-Id: Ibc727e078129eee15021cc97105b4cdf9a5a3196
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
| |
Task-id: QT3DS-3912
Change-Id: I76415b68bbe145bcc308263228358f69cac89c3c
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@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>
|
|\
| |
| |
| | |
Change-Id: If10420b5b0ab59abb5238e0dddf903b98d8ccbd3
|
| |
| |
| |
| |
| |
| | |
Task-number: QT3DS-4053
Change-Id: Ie0723839c5c56f6978ec7a4a1258acf311d89d57
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All components were iterated and included subpresentation loaded at the
start. Now only components included in the master slide are loaded. Rest
are loaded when the slide in which they reside is shown.
Task-number: QT3DS-4057
Change-Id: I1e8f67f51fd452ac362c1020f7e9674bc86b7ec1
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|/
|
|
|
|
| |
Task-number: QT3DS-4056
Change-Id: I4513214fa20e2c4b0e7a137fa97c648a644e0757
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4041
Change-Id: I64ccd129b12053b057e5e992d89a05a2bc6cd33d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
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>
|
|
|
|
|
|
|
|
|
|
| |
-Add culling mode for default material
-Add Culling command to custom material.
Task-number: QT3DS-1627
Change-Id: I519498ce4508c02527df628c36c0a62621e8e294
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
| |
-Remove tree traverse functions from actimation manager.
-Remove duplicate element helper code.
Change-Id: Ibf23c58755024a7374b8279861e4aad8fbcdd7c7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using delayed loading, assets used by materials inside the
material container are not loaded upon startup anymore. Instead
the assets are loaded when entering the slide in which the material
is referenced.
This also fixes referenced materials that refer to an animatable
material in another slide.
Task-number: QT3DS-3100
Change-Id: If55c73e8f91389f3c47ae16357ebe6a473f43585
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
| |
Task-id: QT3DS-4032
Change-Id: I27c6c7ad2a66fac0b654002933fc3216ecf8879c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add ordered property to group, which disables automatic depth sorting for
that group and all it's children. The group as a whole gets sorted with
other objects as if it was one object.
Task-number: QT3DS-3820
Change-Id: Iea71917fc78f4c543aa944d851c77b6794bd7d80
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4033
Change-Id: Idd1af454c066a359e85c384124e3f8fe8466f4f5
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes issue of current slide change signals not working from
subpresentations. (Does not touch indexing conventions in SceneElement or
Presentation.)
Task-ID: QT3DS-3015
Change-Id: I74ef95d72efa1fc75674081e242c9f5526decf77
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Flip ktx and astc textures in shader if project settings has
flipCompressedTextures flag set as true. Also, fix bug in shader generator
UV flipping code.
Task-id: QT3DS-4015
Change-Id: Ic406569c15e172c513f5d412ba41ab84348a392b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-4027
Change-Id: I4612c54e39af44a2458052546f25a1d48a4e0ca4
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve startup perf logging, including:
- Move outputting startup perf logs into better place. Previously
only part of the logs were printed as output happened too soon,
now printing at first frame rendering.
- Show also amount of calls and cumulative timestamps.
- Improve log labels formatting.
- Add more logging points into hot spots.
Task-number: QT3DS-4021
Change-Id: I7db5a11ff10be1ccb691f82b10161e8ba7c316a6
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenGL runtime contains perf timers but they are not documented
so probably not much used.
Switch to using QT3DS_PERF_SCOPED_TIMER macro instead of direct
SStackPerfTimer usage. Then SStackPerfTimer debugs overhead can
be fully removed when QT3DS_ENABLE_PERF_LOGGING is not defined
(default).
Print first frame render time when qt3ds.perf_info is on.
Task-number: QT3DS-4021
Change-Id: Id11a1c5bb8bf24f545e9bceb333212f345b29bb7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Handle datainput-driven eyeball (activity) change always regardless of
element activation status in activation manager.
Task-id: QT3DS-4003
Change-Id: I6ca0ec834d2ccbc3850c0b2849caee058b2d778d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@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-4004
Change-Id: I2ce1af6e07ab18a835e21de5e92dc2ba6509229d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Call GoToSlideIndex upon activation if a slide change has been queued
for an inactive component.
Task-number: QT3DS-3997
Change-Id: I63489cd438428546b04883d04ee5d40b04e1cb78
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-3996
Change-Id: I24b96b4806cb24a92b199562d3f033ead47696d1
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
When enabled astc file is not loaded until needed for texture creation.
Change-Id: I94d49087eaa1ba288372d7668c68ab1876255e01
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Datainput control check needs to be done in the Update too.
Task-number: QT3DS-3988
Task-number: QT3DS-3989
Change-Id: Iab628ab5fcab57379c23ed8122d24d37f66b303b
Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
|
|
|
|
|
|
|
|
|
| |
The materialdef xml file was not being read with a proper encoding.
Task-number: QT3DS-3975
Change-Id: Iadc5ef1565b716a0d4a7330d5920648811c57ac6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Output log when an element visibility is overridden via datainput and is no
longer affected by slide transitions. This helps debugging visibility
issues with presentations that use both datainput and slide initial values
to control element visibility.
Change-Id: I56fc39ff80851a16b0b2a90ca9d4c687d71750a3
Task-id: QT3DS-3951
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Subpresentations were not loaded when calling preloadSlide. Add
subpresentation loading handling into loadComponentSlideResources, which
gets called when preloadSlide is called.
Change-Id: I7bc8c5a799214534370af19e6e104e2846f38743
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ASTC textures would need to be decompressed upon loading to scan for
transparency, or the texture files would need their own user-defined
settings to enable transparency. Instead, as a work-around, materials
can be forced to be treated as transparent without manipulating opacity.
This is implemented with a transparency mode drop down list containing
"Default", "Force Transparent" and "Force Opaque" options. "Force
Opaque" can be used to force the material to be treated as opaque even
when the textures used are transparent.
By default ASTC textures are treated as non-transparent.
Task-number: QT3DS-3904
Change-Id: I22255ffb2e2be5efea3e56466d58ddcc46490bb2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Janne Kangas <janne.kangas@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QT3DS-3903
Change-Id: Iff0b627f8dd1568ea09346068548e244cb4a9263
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@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>
|
|
|
|
|
|
| |
Change-Id: I342d6a8b5ee85d3836eef1fece0dd87b5efed215
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
| |
Change-Id: I4ffc26f35849b1ad86612393992e485ecd2fa240
Reviewed-by: Antti Määttä <antti.maatta@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make datainput-driven visibility setting persistent over slide changes, for
elements that are on master slide. This prevents slide initial value from
overriding the user set visibility. Override takes place at first DI-driven
visibility change.
Change-Id: I799872ebd9834df9e74dd1e5e53a59c57e02255f
Task-id: QT3DS-3925
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
|
|
|
|
|
|
|
| |
The slide iteration can be stopped after finding the correct slide.
Change-Id: I82b1385d8c4eadd21b27094c6003dfc4f90ee484
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable animation for the target property when datainput value is set. This
is to prevent running animations from overriding datainput control, which
happens by default in runtime engine due to ordering of scene update
sequence.
Change-Id: I148d7fd80ad01f4ec5ad1d5ba69ecc74865d27fb
Task-id: QT3DS-3896
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
By default frustum culling is disabled because for most scenes all items
are always visible. There is a not insignificant cost to doing frustum
culling, so it shouldn't be the default behavior.
Change-Id: Ibc0c0a4bd1cf65a215256de9ec22ca1d97eb6de5
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
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>
|