summaryrefslogtreecommitdiffstats
path: root/src/dm
Commit message (Collapse)AuthorAgeFilesLines
* Add signal objectv2.8.0-beta1Kaj Grönholm2020-09-252-0/+21
| | | | | | | | | | Add signal object type and use it instead of dummy group in activateactions autotest. Task-number: QT3DS-4165 Change-Id: Id10fcc95e3a8f9009db71e6c2d640a593e633d67 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Optimize runtime performanceAntti Määttä2020-08-117-66/+61
| | | | | | | | | | | - Reduce allocations by reducing std::pair usage. - Reduce allocations by not caching parents. - Some smaller optimizations Task-number: QT3DS-4151 Change-Id: I0bf770069b23ca4715f5f98ab3b35001156fe8fc Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Add depth function customization for custom materialsJere Tuliniemi2020-03-031-0/+15
| | | | | | | | | | | | | Example usage: <Pass> <Depth func="greater-than-or-equal" mask="false"/> </Pass> Task-number: QT3DS-3821 Change-Id: I8cf347026ad51ec80837e7ca87fcd836115c0d74 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 dynamic layer resizingJere Tuliniemi2020-02-282-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Handle ordered attribute in runtimeJanne Kangas2020-02-171-1/+2
| | | | | | | | | | | | | | | Add missing handler for "ordered" attribute also on runtime side. Also, uncomment assert for unknown attribute, as silently ignored attributes can be tricky to debug. This does not fix the issue of non-ordered groups having wrong depth/alpha in Editor, but makes Editor and Runtime behave identically. Task-id: QT3DS-4058 Change-Id: Ic68d245143664d8ac4e74a6b3434f6ff476608a6 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>
* Implement culling mode for materialsAntti Määttä2020-01-213-2/+44
| | | | | | | | | | -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>
* Add toggle for disabling ambient occlusionJanne Kangas2020-01-152-0/+2
| | | | | | | | 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>
* Implement ordered groupAntti Määttä2020-01-132-0/+2
| | | | | | | | | | | 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>
* Store line feeds as substitute characters in UIPJanne Kangas2019-11-061-0/+4
| | | | | | | | | | | To avoid using real line breaks in UIP file for string-typed values, replace \n sequence with a non-printable unicode char at file save. Revert this at file load. Change-Id: I215a88c4d85bc2c0c3b63f31d6cd1cfdf20b16ca Task-id: QT3DS-3993 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Use logging categories with all debug messagesAntti Määttä2019-10-071-5/+3
| | | | | | | | 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>
* Handle animations without keyframesKaj Grönholm2019-09-191-0/+5
| | | | | | Task-number: QT3DS-3955 Change-Id: I50bea22f4232c9dbb1c63db00d3d967e911f7279 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add transparency mode selection to standard materialsJere Tuliniemi2019-09-192-0/+2
| | | | | | | | | | | | | | | | | | | | 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>
* Add fileids for actions and slidesAntti Määttä2019-09-171-0/+2
| | | | | | | | | This enables preserving slide and action ids when saving presentations. Task-number: QT3DS-3816 Change-Id: Ibecf990745990ad0f9016865f7e78992a70f7a9b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix imported assets animations not appearing bugMahmoud Badri2019-09-091-1/+1
| | | | | | | | Rest of the fix is in the editor side Task-number: QT3DS-3921 Change-Id: Ie372a21ce70f373a3ca90a1236ca1d96ff7d418f Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add support to get a bezier curve extreme valuesMahmoud Badri2019-09-055-6/+91
| | | | | | | | | Add logic to get the extreme values of a curve segment. This is used by the studio to fit an animation curve. Change-Id: I65564802524bfd49793624a560d98cc67d22e055 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add property to Camera to enable frustum culling when neededAndy Nichols2019-08-292-1/+3
| | | | | | | | | | 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>
* Disable Depth Pre-pass by defaultAndy Nichols2019-08-291-1/+1
| | | | | | | | | | | This is an anti-optimization on tiled renderers and doesn't provide much performance benefit on even desktop hardware. This patch makes the depth pre-pass opt-in instead of opt-out. Change-Id: I73cdc0aac5e5c07977085eefd1fad7ba890d0fdb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Remove some warnings from Qt3DSDMAnimation.hMahmoud Badri2019-08-281-6/+6
| | | | | Change-Id: Id3c6c202233283c6e05f78f59b9d75fff90344fc Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Unify timeline unit to millisecondMahmoud Badri2019-08-2618-272/+221
| | | | | | | | | | 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>
* small fix in a method renamingMahmoud Badri2019-08-193-3/+3
| | | | | Change-Id: Ifc01d989ac5f362c22a1292110498e5801174463 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix Easing animationMahmoud Badri2019-08-195-314/+142
| | | | | | | | | | | Changed the logic for easing animation evaluation. Also some cleanups in Qt3DSDMAnimation.h and removing some useless code. Task-number: QT3DS-3874 Change-Id: Ieaa68ec9027ce9f5ad13eba6d49f73c14d1a4a8c Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* remove the old bezier equation solversMahmoud Badri2019-08-161-3/+1
| | | | | | Change-Id: I4b6eb01e68b959a2dea5d01ccc4a3c2065018b32 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Change Float4 to use QVector4DJere Tuliniemi2019-08-132-3/+4
| | | | | | | | | This fixes a bug on the editor side and makes Float4 be in line with the other types using QVector3D and QVector2D. Task-number: QT3DS-3824 Change-Id: Iee04c56575e91afa1e3e27ed02abbe50a72231e0 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Use reloadable textures with dynamic objectsAntti Määttä2019-08-122-1/+17
| | | | | | | Task-number: QT3DS-3748 Change-Id: I0c5cd712960bd1caedb36828a159e90a52733dd2 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add support for Float3 and Float4 property typesJere Tuliniemi2019-08-093-6/+13
| | | | | | | | | | | | | Float3 is an alternative naming for Vector, Rotation and Scale types inline with the Float2 naming. Float4 is an alternative to the Color type, but allows the editor to show each channel as an input box. Task-number: QT3DS-3824 Change-Id: I3f37712631015884d222743af32779b08c24fee8 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add custom shader recompilation support to the runtimeJere Tuliniemi2019-08-011-0/+3
| | | | | | | | Task-number: QT3DS-3356 Task-number: QT3DS-1693 Change-Id: Iffd961f28ab5d3de74e7c4cf2c0997696284f170 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Support changing property animation type and curve editorMahmoud Badri2019-08-017-130/+224
| | | | | | | | | Add support for changing property animation type to either of Linear, Easing, or Bezier. The core of the work will be in the Editor. Task-number: QT3DS-704 Change-Id: I69a174919917d22e61aec2da8f72ed6696e33bff Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Simplify the 2 methods that gets the animation arityMahmoud Badri2019-07-033-57/+54
| | | | | | | | | | | | | | | | Change the return type of the 2 methods below to only return the arity (num animation channels). It is enough to check if the arity is > 0 to know that the data type is animatable. This makes the methods usage much cleaner. GetDatatypeAnimatableAndArity() GetVariantAnimatableAndArity() You much also pull the commit with the same name in the qt3dstudio repo for the Editor to compile after this is pulled. Change-Id: I3e80d49aa6ddf893be43a359ddaf583f50df9180 Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix grouping in "Set datainput controller" menu, runtime partMiikka Heikkinen2019-06-283-8/+16
| | | | | | | | | | Properties were grouped according to property type, which was confusing. Changed the grouping to be by group, which makes more sense, and results in same ordering of properties as the inspector. Task-number: QT3DS-3373 Change-Id: I2b0cad93bbfb55efd697322d58d524eb89fed1df Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Fix editor build on mingwAntti Määttä2019-06-111-0/+1
| | | | | | Task-number: QT3DS-3659 Change-Id: Ie3f4f9fd6712f858942e9c294a49af2b561bbd77 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Long live the slayer!Pasi Keränen2019-06-0777-0/+27954
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>