summaryrefslogtreecommitdiffstats
path: root/src/api/studio3dqml/q3dsstudio3d.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add frameDraw signal to QML APITony Leinonen2021-03-311-0/+2
| | | | | | | | | frameDraw was initially only added to C++ API. This patch adds frameDraw to the QML API with updated qmltypes file. Task-number: QT3DS-4224 Change-Id: I215368943e124d0fee1b80806ede841f9bc769ed Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add documentation for frameDraw signalTony Leinonen2021-03-301-1/+9
| | | | | | | | The frameDraw was recently added and needed further documentation. Task-number: QT3DS-4220 Change-Id: Ic2bcfb112fdd91455e8c30437bfd652f1215d803 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Implement shader cache loading error handlingAntti Määttä2020-02-101-0/+2
| | | | | | | Task-number: QT3DS-4040 Change-Id: Ie5f8284ab76cd4aa5f3ff0701457f4ef84c3e215 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Bump qml module versionTomi Korpipaa2019-10-011-0/+1
| | | | | | | | | | | 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>
* Implement shader cachingMiikka Heikkinen2019-09-121-14/+11
| | | | | | | | | | | | 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>
* Clear the QQuickWindow background before renderingMiikka Heikkinen2019-08-191-4/+0
| | | | | | | | | | | 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>
* Don't share surface between async init contextsMiikka Heikkinen2019-08-141-1/+18
| | | | | | | | | | | 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>
* Make runtime initialization optionally not block QMLMiikka Heikkinen2019-08-131-3/+30
| | | | | | | | | | | | | | | | | 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>
* Batch datainput value changes per-frame for QML contextJanne Kangas2019-08-091-0/+5
| | | | | | | | | | | 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>
* Fix simpleqml exampleAntti Määttä2019-06-281-3/+12
| | | | | | | | | | | | | - 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>
* Add Q3DSStudio3D::viewerSettings() documentationMats Honkamaa2019-06-251-1/+4
| | | | | | | Task-number: QT3DS-3566 Change-Id: Ibac69008d5d8cc1f495d71cedcdc61af1aaa7bf7 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Initial OpenGL runtime documentation structureMats Honkamaa2019-06-191-1/+1
| | | | | | | | | | 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>
* Pass QML engine to stream proxyJari Karppinen2019-06-111-1/+3
| | | | | | | | | | | QML stream proxy creates a new QML engine if it has not been set one. This loses QML import paths that have been added on startup, and breaks QML imports in QML streams. Task-number: QT3DS-3597 Change-Id: I13def4b6f0f9078d9d63eb0010f0a50ce4dac7ce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Long live the slayer!Pasi Keränen2019-06-071-0/+535
Initial commit of OpenGL Runtime to repository. Based on SHA1 61823aaccc6510699a54b34a2fe3f7523dab3b4e of qt3dstudio repository. Task-number: QT3DS-3600 Change-Id: Iaeb80237399f0e5656a19ebec9d1ab3a681d8832 Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>