summaryrefslogtreecommitdiffstats
path: root/src/Runtime
Commit message (Collapse)AuthorAgeFilesLines
* Remove circular build dependencywip/qtifyJanne Kangas2019-05-0910-22/+29
| | | | | | | | | Duplicate enum defined in studio3d module on runtime side to avoid including the entire class from studio3d. Task-id: QT3DS-3396 Change-Id: I193b34614a8bbf991f717f8302061298b56e451e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add missing float4 types to Runtime data model datatypesMahmoud Badri2019-05-086-20/+64
| | | | | | | Task-number: QT3DS-3400 Change-Id: I17de1c3a1d6ba4a6877a9570ab9821523e345565 Reviewed-by: Jari Karppinen <jari.karppinen@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix OpenGL runtime picking with scaled cameraKaj Grönholm2019-05-076-9/+34
| | | | | | | | | | | | When camera scale property has been modified, picking scale needs to be inverted or it scales into wrong direction. This affects both runtime viewer and editor in scene camera view. Task-number: QT3DS-3393 Change-Id: Ib643af22861b81fb0fc9e78ebfd2d724e765eff5 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>
* Add deleteElement to C++ APIMiikka Heikkinen2019-05-079-7/+144
| | | | | | | | | Add possibility to delete elements that have been added with createElement. Task-number: QT3DS-3374 Change-Id: I701e565241d18294171cd63ef934083f627b89aa Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add dynamic object creation to presentation C++ APIMiikka Heikkinen2019-05-0711-99/+463
| | | | | | | | | | | | A new model element can be dynamically created into the scene. The slide and properties of the element can be specified at creation time. A material element is automatically created for each added model. The material is specified with a custom "material" property in the list of creation properties. Task-number: QT3DS-3209 Change-Id: I52b0e929023092110820405473a9399b67a305cd Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add simple performance viewAntti Määttä2019-05-0710-41/+76
| | | | | | | | | The F7 button in the viewer now shows the render statistics as well as the layer profiling timers. Task-number: QT3DS-3211 Change-Id: I9553b9c522a9d16efd53b17c1f10538294b2b834 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix camera lookAt in OpenGL RuntimeJari Karppinen2019-05-071-5/+2
| | | | | | | | | | Convert radians to degrees as in Qt3D Runtime. Task-number: QT3DS-3349 Change-Id: Icc4935a07ce3b9e246b13b179646714267d23956 Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove remaining state machine codePasi Keränen2019-05-063-21/+0
| | | | | | | | Remove state machine code and .uia file statemachine part. Task-number: QT3DS-2846 Change-Id: Id4b74c296f9be4067e78906937dcb9086e60b949 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Move CRenderString to foundation and rename to Qt3DSStringPasi Keränen2019-05-0621-132/+140
| | | | | | | | | | | | | CRenderString is no longer just the runtimerenderer or renderer. It is aimed to replace all the various string types and then pave the way for moving to QString from unified string class base. Better place for this class is in the foundation. Task-number: QT3DS-3370 Change-Id: I50c25aadddd39fba48451544509894c3e7ac89fc Reviewed-by: Jari Karppinen <jari.karppinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement fixes to the distance field rendererJere Tuliniemi2019-05-0617-75/+46
| | | | | | | | | | | | | | - Change modelView matrix to mvp for sharper texts - Support global opacity from parents - Allow changing alpha from the text color picker - Change shadow color to be the same as the text color Task-number: QT3DS-3343 Task-number: QT3DS-3363 Change-Id: I37178abe6c9239619a3f9de440d2b9245a138a82 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Convert CRenderString to be QString basedPasi Keränen2019-05-0313-124/+761
| | | | | | | | | Replaces QString as the implementation class of CRenderString instead of std::basic_string Task-number: QT3DS-3370 Change-Id: Ie1b9068bfdbf0ce05659f1ae83fe9243acdf7eee Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement dynamic loading of slide resourcesAntti Määttä2019-05-0332-271/+944
| | | | | | | | | | | | | | | Implements loading of textures and images during runtime instead of load time. - Images which are not part of any slide are loaded at load time - Master slide images are always loaded at load time - Images used in a slide are loaded when the slide is entered - Images are unloaded when slide is exited and any other slide does not use them Task-number: QT3DS-3208 Change-Id: I7a827a5e828908efd2b104fe25374c66958319d2 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Allow subpresentations as textures for custom materials and effectsJere Tuliniemi2019-05-026-21/+105
| | | | | | | | | | | | | | | | | Effects already supported taking the subpresentation as a texture in the runtime. That behavior is now copied by the custom materials. This also fixes a runtime bug where the subpresentation was rendered only if a default material already had the subpresentation as a texture. Now custom material and effect properties are iterated prior rendering If they contain subpresentations, those are added the to the render task list. Task-number: QT3DS-3165 Change-Id: I7bddec2fece442065d517320d0e381eba5f1b159 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove CTegraApplication to reduce intermediary classesAntti Määttä2019-05-028-399/+189
| | | | | | | | Use the INDDView in the ViewerApp directly. Change-Id: If502dd51d4ea87fc96d892cb9255df42b06fa4f3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
* Support alpha channel initial workMahmoud Badri2019-05-0234-128/+246
| | | | | | | | | | | In this initial work, all (almost) color properties are converted into a new type (float4) to support an alpha channel. Alpha channel option is shown in the color dialog for Layer and Scene background properties only. The following is remaining: - Scene background alpha doesn't work in the editor (works in the viewer RT1) Task-number: QT3DS-3128 Change-Id: Ib5540ebc8e2ff68709473451e4a92bf66ddb8ad2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add customSignalEmittedAntti Määttä2019-04-306-0/+11
| | | | | | | Task-number: QT3DS-3215 Change-Id: If36cca0d864b8c2fa7fd6ec499ace678ecaa206a Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Do not update behavior script properties alwaysAntti Määttä2019-04-301-1/+1
| | | | | | | | Only update them when they have changed. Change-Id: I77e87640c62e1289fec980a7d1737803d49e762a Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add SetAttribute with element variableAntti Määttä2019-04-303-1/+17
| | | | | | | This removes additional element fetch from the call. Change-Id: Iaf279769a040a0de350eab3bf3dcdf98751644d8 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add clipping to distance field fontsJere Tuliniemi2019-04-292-38/+88
| | | | | | | | | | Removes fallback to the old text renderer and adds the clipping feature to the distance field font renderer. Task-number: QT3DS-3329 Change-Id: Ie41b93c9a9ed791297349007c7e2b3bf10c982b1 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Remove unused codePasi Keränen2019-04-2977-25765/+119
| | | | | | | | | Remove stateapplication (Architect integration) code. Remove perflog code. Task-number: QT3DS-3331 Change-Id: I208cce7551b3d332fb7905ae7cd4151c883b3728 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add qDebug stream overrides for render base typesPasi Keränen2019-04-263-17/+1070
| | | | | | | Task-number: QT3DS-3342 Change-Id: I649202fc96eb658f2da7647f7b722de8a25cced7 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Convert RGBA64 images to RGBA8 when loadingAntti Määttä2019-04-261-0/+11
| | | | | | | Task-number: QT3DS-3354 Change-Id: I68396ec7ccf9a99820edd7b7501ee39191cbef63 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix distance field shaders for ES3.2Tomi Korpipää2019-04-252-2/+2
| | | | | | | Task-number: QT3DS-3352 Change-Id: Ic0d2e7910079a6c263f6e59b81ef0588a6455654 Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Fix crash in editor when using qml streamAntti Määttä2019-04-246-1/+29
| | | | | | | | | | | | | | | | | | | | The crash occurs due to stack overflow due to recursive subpresentation initialization in runtime codes. This happens because the qml subpresentation has the same id as the presentation filename, which is assigned to default initial id from the presentation filename. When the layer, which is using the qml subpresentation, is initialized in the runtime, it gets the uip presentation instead of the qml subpresentation. The same begins to happen recursively. Add the ability to change the initial presentation id from the surface viewer api, which is used to render the subpresentations in the editor so that it gets valid id instead of the id from filename. Task-number: QT3DS-3345 Change-Id: I45f3a8ce9b5dc030f120baa1a8aed6c284ea7e3c Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
* Implement datainput getter API for OpenGL runtimeJanne Kangas2019-04-1611-177/+298
| | | | | | | | | Partially implements RT2 feature parity for datainput getters. (Min/max property is not exposed to QML side.) Task-id: QT3DS-3258 Change-Id: I9cce3e98289c3cac8d2c774bb53eb75f445b6e17 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add distance field rendering to OpenGL runtimeJere Tuliniemi2019-04-1634-50/+2687
| | | | | | | | | | | | | | The old text rendering remains in the background and is used to render clipped text, since that feature is not yet implemented for distance field fonts. Building the runtime with Qt version older than 5.12.2 also causes a fallback to the old text rendering. Depth pass rendering also needs to be redone in the future to avoid another full render pass. Task-number: QT3DS-3210 Change-Id: Ib7666c437d23ae25e1872682f010df3721476a14 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Flatten OpenGL source directory hierarchyPasi Keränen2019-04-15718-643/+640
| | | | | | | | | | Flatten Source,Include and PrivateInclude directories away. Replace camelcase directory names with lowercase names. Remove random Qt3DS prefixes from directory names. Task-number: QT3DS-16 Change-Id: I5b23349232c760afa9a8efcc5e8945ee19d2e31a Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
* clean up and format MetaData.xmlMahmoud Badri2019-04-111-242/+275
| | | | | | | | | | | | | | Also: - Fix a crash when setting a standard material. - remove visible property from materials. - add an inspector group "camera properties" to the camera and move the orthogonal setting there. Task-number: QT3DS-3319 Change-Id: I5830248b4e610231124a6c588a2563c757b066c1 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>
* Support variants property on componentsMahmoud Badri2019-04-111-10/+25
| | | | | | | | | | | | | | | Also the following tasks are done in this commit: - show active root component properties in the inspector. - fix a crash when opening the light scope drop down. - remove a lot of dynamic casts and useless code and cleanups, mainly from the inspector classes. There is still more dynamic casts and memory leaks that should be tackled in another commit. - move a method to more appropriate place. Change-Id: I5bec3858ba34d307ab6236ee665f1474302c1f57 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>
* Add variant support to OpenGL runtimePasi Keränen2019-04-1114-254/+509
| | | | | | | Task-number: QT3DS-3193 Change-Id: I5606d452104659e60ecbc2e8e08ec3e6f5b15cbc Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add support for KTX texturesAntti Määttä2019-04-0914-66/+645
| | | | | | Task-number: QT3DS-3205 Change-Id: If54d1404b934c6ae7de704884ba0afdf71419170 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Support variants property on Group typesMahmoud Badri2019-04-081-8/+23
| | | | | | | | | Also few usual cleanups. Task-number: QT3DS-3234 Change-Id: I4624aeac27ee512cdbe62677bb9469e2748cc58b Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement variants support for ModelsMahmoud Badri2019-04-051-11/+18
| | | | | | | | Also some relevant tweaks here and there. Next: supporting variants on Groups, then Components. Task-number: QT3DS-3234 Change-Id: I3943baef1118cecbcd4211b6eefca3d54b21a89e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add support for selecting shadow castersTomi Korpipaa2019-04-0412-5/+36
| | | | | | | | | | Editor and OpenGL runtime implementation. Qt3D runtime implementation is done in a separate commit. Task-number: QT3DS-3269 Change-Id: I26e2aa3041acaaef36cc103cc4039a0c4ea1df73 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Rename Slayer runtime moduleTomi Korpipaa2019-04-041-1/+2
| | | | | | Task-number: QT3DS-3256 Change-Id: I813ad2e02c619754252a90ed150c12ebaeacc9ce Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Ignore missing presentations in UIAJere Tuliniemi2019-03-291-10/+10
| | | | | | | | | | Currently loading of the UIA file fails if it contains nonexistent presentations. In Runtime 2 those are ignored, so this tries to do that here too. Task-number: QT3DS-3250 Change-Id: Ibc32147a6828d5a410e268fad3c004b09033f4cf Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Set rotations as degreesJere Tuliniemi2019-03-291-0/+9
| | | | | | | | | Change SetAttribute to take rotations as degrees like in Runtime 2. Task-number: QT3DS-3243 Change-Id: I37354c99a44309917db72cbb5eae99729a6e551e Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Merge branch '2.3'Miikka Heikkinen2019-03-292-20/+29
|\ | | | | | | Change-Id: Ide0635942cd89a5e07c0a558a0d5488e04536544
| * Update qt3d-runtime submodulev2.3.0-rc3Antti Kokko2019-03-291-0/+0
| | | | | | | | | | | | | | | | Latest documentation change (marked as P1) was not included in the last update. Change-Id: Id0f05462a22a3cac472b71bd6e2e4a4e1ead3c2e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Update qt3d-runtime submoduleTomi Korpipaa2019-03-291-0/+0
| | | | | | | | | | | | Change-Id: I923e1f2dc8709943d865f6b0f357e84a350b1ff9 Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
| * Update qt3d-runtime moduleTomi Korpipaa2019-03-281-0/+0
| | | | | | | | | | | | | | Change-Id: I4640c7b855c1ddb80bf78459f4441f7687cfeb30 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
| * Fix property categoriesMiikka Heikkinen2019-03-261-11/+11
| | | | | | | | | | | | | | | | | | | | Some properties were missing from the inspector due to missing category attribute. Task-number: QT3DS-3217 Change-Id: I110375a41e1282fcfd8e98d00692115cd38b39b3 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
| * Remove unused Layer basic properties from inspectorMahmoud Badri2019-03-221-9/+18
| | | | | | | | | | | | | | | | | | | | Fix a regression caused by: commit (7e468f5d90c942da45724f06396349b271db0302) that caused Layers to show unused basic properties (move, rotate, scale, etc) Task-number: QT3DS-3214 Change-Id: Ic1ece4e84f389673824ecdc6db6505b97ea67f2d Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Update qt3d-runtime submodule for 2.3.0 RCv2.3.0-rcAntti Kokko2019-03-221-0/+0
| | | | | | | | | | | | Change-Id: I9e08dddbfc2e104c359e01448db555fc19d5045b Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Fix material and script loading on Slayer runtimeMiikka Heikkinen2019-03-263-15/+13
| | | | | | | | | | | | | | Task-number: QT3DS-3198 Change-Id: I015edfe42c496650db6a169731ca1fab47b4fb38 Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Merge branch '2.3'Miikka Heikkinen2019-03-223-464/+475
|\| | | | | | | Change-Id: I13bb2edfe7ad0037f3de3b7a5a4f4bf5d394c189
| * Add inspector groups for Text and LightMahmoud Badri2019-03-201-462/+470
| | | | | | | | | | | | | | | | | | Text: basic properties, format, and shadow Light: basic properties, light properties, and shadow Also removed the double indentation of the metadata file lines. Change-Id: Ibc065a7418905ddb7917fc3436c0e40c7542fd39 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Fix text alignment with fixed size text areaTomi Korpipaa2019-03-201-2/+5
| | | | | | | | | | | | | | | | Task-number: QT3DS-3137 Change-Id: Ia28d42d1edc59ac6e24879aba340e0509c4d5c07 Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Update qt3d-runtime submoduleMiikka Heikkinen2019-03-151-0/+0
| | | | | | | | | | Change-Id: Ia1321fa5672e37f4fec67ce7a628fe44d8bf295a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Fix breakpad issue with macOS and LinuxTomi Korpipaa2019-03-194-39/+51
| | | | | | | | | | | | | | Task-number: QT3DS-3166 Change-Id: If52fda119a6f5190613e8c0a6a12a285fb43c5b5 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>