summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken link in online docs sidebarv2.2.02.2Mats Honkamaa2018-12-101-1/+1
| | | | | | Task-number: QT3DS-2423 Change-Id: I432e53d48e2f135c7411960c01185a74720d2b7a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Dragon: Clean up resources properly on shutdownv2.2.0-rcv2.2.0-beta3Svenn-Arne Dragly2018-12-045-0/+42
| | | | | | | | | | In the threaded case, we need to release the semaphore for the next frame data. For the non-threaded case, we need to make an offscreen surface current before the resources are released. Change-Id: I9df38614eb66e7164651e062a32165fe11259639 Fixes: QT3DS-2530 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Dragon: Remove debug output and add message when Dragon is enabledSvenn-Arne Dragly2018-12-049-10/+2
| | | | | Change-Id: Ifa546ed6c46102a5c8a76d85ac6a6399a49b54a5 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix stereoscopic mode changing with subpresentationsKaj Grönholm2018-11-302-2/+3
| | | | | | | | | | | | Q3DSSceneManager::buildScene() is called for both main presentation and sub presentation(s). To not disconnect stereoscopic mode switching with subpresentations, move it into better place. Task-number: QT3DS-2738 Change-Id: I5ecc9260c28ea1d42ba43aee2111f46a1ef9b607 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Dragon: Replace public API to enable Dragon with environment variableSvenn-Arne Dragly2018-11-277-47/+5
| | | | | | | | | | | | This API will not make any sense in the future, when there is only one aspect to choose from. The Dragon render aspect can in the meantime be enabled by setting the environment variable Q3DS_DRAGON to a non-zero number (like 1). Change-Id: I9e95347a1eb9d75bbeaa6f813260ce5e718230b4 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Return result of task as const reference instead of copySvenn-Arne Dragly2018-11-271-1/+1
| | | | | | Change-Id: If526b54e3c2b42132a465742a8dab86f96559dce Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Only build render view commands if necessarySvenn-Arne Dragly2018-11-271-0/+3
| | | | | | Change-Id: I82163e450801f664067572413e5287c6684f328b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Make sure root has worldTransformSvenn-Arne Dragly2018-11-271-1/+3
| | | | | | | | | | Setting it is not strictly necessary, because we always get the default-constructed value using operator[], but it makes the code a bit more readable. Change-Id: I72aaeca93d60162da88f63044682f8155d91a8c8 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix dynamic keyframesChristian Strømme2018-11-264-7/+173
| | | | | | | | | | Don't generate dynamic kf on first entry to a slide, since there are no "from" values yet. Task-number: QT3DS-2209 Change-Id: Ib4e59968d9099b77ea6d11f1b627b77cad194a23 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Cleanup Q3DSViewerSettings when reloadingv2.2.0-beta2Kaj Grönholm2018-11-262-0/+6
| | | | | | | | | Also don't leak previous Q3DSViewportSettings. Task-number: QT3DS-2705 Change-Id: I37ec0ddfeed21eedae49211d7f99655595d1b759 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add a way to hook into the private API, with example and docsv2.2.0-beta1Laszlo Agocs2018-11-1615-1/+615
| | | | | Change-Id: Ib46f4e753964eaad02f455f80962321fb64496c4 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make manylayersinquick example a manual test for nowLaszlo Agocs2018-11-168-3/+3
| | | | | | | Will not productize this in 2.2. Change-Id: I6be378671efba1e99f289955a230ac95bdc91a8d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add shaders to runtime projectPasi Keränen2018-11-161-0/+4
| | | | | | | Task-number: QT3DS-2671 Change-Id: I7d72a05671c8fe3dfe958df222f7e49192d8bfcc Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add support for drop-shadows for textTomi Korpipaa2018-11-165-12/+106
| | | | | | | | Task-number: QT3DS-2644 Change-Id: I19d3b8e77d50e4817b83c528383bbe0e1931fdc9 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* macOS: Implement CPU usage profiler reportingPasi Keränen2018-11-135-5/+218
| | | | | | Task-number: QT3DS-2586 Change-Id: Icc9017acf9222853f6345612906288cf4fd79348 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Update UIP version numberJere Tuliniemi2018-11-121-1/+2
| | | | | | | | | | UIP version is upped so that old editors are not used to edit projects with the material container containing materials read from the .materialdef files. Task-number: QT3DS-2612 Change-Id: I8883a86569d7534a4339aa17d5c4f66ddbd4a8ce Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Optimize and simplify gatherMaterialParametersSvenn-Arne Dragly2018-11-092-82/+16
| | | | | | | | | | Do not gather parameters for render views that are not drawn. Also, since we do not track changes, we can simplify the code by using QHash instead of ValueContainer. The source file is also cleaned up by removing old comments. Change-Id: If573c84ff2ef0e43b411501207535f61d6e324d4 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Don't warn when disabling seamless cube maps on ES2Svenn-Arne Dragly2018-11-091-2/+2
| | | | | | | | There is no reason to warn about the missing feature if the user is not trying to enable it. Change-Id: I2b9b410c7c738e5589f03938489bc79b9f972bfe Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Add Q3DSV_PRIVATE_EXPORT to BackendNodeSvenn-Arne Dragly2018-11-091-1/+2
| | | | | | | Needed by Studio3D because it has access to backend objects. Change-Id: I4c06f7463e2854e6dce39756fe2833e2c362bab8 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Reduce the number of texture-related includesSvenn-Arne Dragly2018-11-098-63/+127
| | | | | | | | | - Move TextureProperties and TextureParameters into a separate file. - Reduce the number of #include's by adding forward declarations. - Remove mis-placed LoadedTexture in wrong namespace. Change-Id: I119cbaecf977dcba7fcdc5eb504bfa75829bf2a0 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Properly handle state changesSvenn-Arne Dragly2018-11-097-77/+48
| | | | | | | | Only reset states when necessary. Combine states between commands and view in jobs and not on the render thread. Change-Id: I2c45a794f56d5ca220190410814a9c0893fa4b7f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Dragon: Derive mipLevels of texture based on texture imagesSvenn-Arne Dragly2018-11-091-1/+3
| | | | | | | This part got lost in the transition from Qt3DRender. Change-Id: Ib594b8117c1fa19983cda2ab54636fdce89ffcff Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Do not share textures in Dragon if they are used for render targetsSvenn-Arne Dragly2018-11-091-1/+13
| | | | | Change-Id: I57a3b53ee5b520337efc2bf80d6f729614939fa8 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Clean up buffer loading in Dragon render aspectSvenn-Arne Dragly2018-11-093-80/+25
| | | | | | | | | | - Remove commented-out code, comments, and TODOs. - Remove references to async loading, which might however be implemented later. - Add warnings when features that are not available in Dragon are used. Change-Id: I1d2dcffc15438a2c3ba96fd928f19d5d0c436899 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Clean up texture loading in Dragon render aspectSvenn-Arne Dragly2018-11-097-126/+18
| | | | | | | | | | | | - Simplify LoadedTexture and LoadedTextureImage by not copying generator from Texture and TextureImage, respectively. - Remove code referring to asynchronous loading. This might be re- introduced at a later point, but is currently non-functional. - Clean up the code in loadTextures and loadTextureImages by removing old comments, commented-out code, and references to async loading. Change-Id: If07cbf26109cc83191f95c4abc53d28dae055c5f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Do not load textures or images if nothing changedSvenn-Arne Dragly2018-11-091-6/+5
| | | | | Change-Id: If59a7f9bff1bb1eb978e18c38d196125851e268d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Reuse existing GLTexture for equal LoadedTextureSvenn-Arne Dragly2018-11-099-6/+118
| | | | | Change-Id: I585b0f914ca02c12b3f8a0460ce2eb04e2861763 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make comparison operators of Mutable and Immutable constSvenn-Arne Dragly2018-11-092-4/+4
| | | | | Change-Id: Iedece863f679daacd99ee91193b719b96006dd0c Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Do not pass null to addParameterLaszlo Agocs2018-11-091-2/+2
| | | | | | | Task-number: QT3DS-2642 Change-Id: I555999d215d803d11145625511c1dcdd20e03703 Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix issue with multiple View3D + stereoscopicKaj Grönholm2018-11-084-27/+29
| | | | | | | | | Stereoscopic QParameter is per-layer. Also move some logic from engine into scenemanager side. Task-number: QT3DS-2561 Change-Id: I2c426a8511edc0cdbaae8760578651915a05dd28 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix unlinked properties not being applied when there are no tracksChristian Strømme2018-11-073-1/+75
| | | | | | | | | | | Notifying property changes was delayed until the track starts, but if there's no tracks this will never happen, so instead we now delay the calls until the slide animator (always present) is first called, which happens even if the slide is initially paused. Task-number: QT3DS-2596 Change-Id: I3fd49977b90ac370680446ecbfc7b3301130de34 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Revert "Improve state handling"Christian Strømme2018-11-065-380/+401
| | | | | | | | | | | This commit is introducing to many regressions at this point, so the best option is to revert it now and re-apply once the remaining issue are resolved. This reverts commit 55b43d3e1c3a100f4ad41d94c132afd2a0d029b3. Change-Id: If2733c506aa64a242a4605d81d69f66e2f7aae41 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Do not set empty sizes for layers rendered by a View3DLaszlo Agocs2018-11-051-1/+1
| | | | | Change-Id: I02d0b6cbbaea4e474319f0fad9dafd2a7dce973a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Don't draw left & right selectors by defaultKaj Grönholm2018-11-052-30/+17
| | | | | | | | | | Reparent selectors instead of viewports so render tree is cleaner. Remove viewports disable/enable as that's not useful. Also keep mono selector always enabled as it's needed also in stereo. Task-number: QT3DS-2591 Change-Id: Id797deb0da804e5ac46c03713ea7421b5fb4f57e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Create rendering framegraph only for required viewportsKaj Grönholm2018-11-022-16/+16
| | | | | | | | | | | When in mono mode, left & right viewport trees are not required at all and vice versa. So reparent subtrees when stereoscopic mode is changed instead of just enabling/disabling cameras. Task-number: QT3DS-2591 Change-Id: I23bae7b9808fb786c59549a1afad8ee49fde533e Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Try loading a ktx image instead of the given one if option is setTomi Korpipaa2018-11-016-13/+54
| | | | | | | | | | | If "Use ktx textures if available" option is set for the presentation from presentation settings dialog, try loading the given image file with ktx extension first. Task-number: QT3DS-2505 Change-Id: Ib1876fb810287beb943d8138b8fb2755853e6f3e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix dynamic keyframe regressionLaszlo Agocs2018-10-312-15/+72
| | | | | | | | | | | | | Adding the dummy first/last keyframes should be postponed until after the first keyframe is updated by the dynamic keyframe logic. Add also the test scene from the report: clicking the rectangle should only start moving after 2 seconds (assuming you click fast enough after opening the scene) Task-number: QT3DS-2577 Change-Id: If768179c8aafd541798af21d397e1e93164354db Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* macOS: Implement profiler memory reportingPasi Keranen2018-10-311-4/+21
| | | | | | Task-number: QT3DS-2585 Change-Id: I8d1b472097bc1edda5e3a7fd2ed3a6e627d77bfa Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add another View3D exampleLaszlo Agocs2018-10-297-1/+309
| | | | | | | | | | | As we should demo the case where View3D's are inside a ListView's delegate. Will crash eventually when scrolling. That needs to be fixed separately in the engine. Change-Id: I32fd35608c98e182b7e22a92f4f5f9b69a387c5d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Add missing virtual destructorChristian Strømme2018-10-292-0/+6
| | | | | | | | The BackendNode in the Dragon renderer was missing a virtual dtor. Change-Id: I7b30bc5b004f9f7ce8c9108b0c07a80f810dc843 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix implicit convertion warningsChristian Strømme2018-10-291-2/+2
| | | | | | | float -> double Change-Id: I677936751ee5cebbfaffe8a17e77ac12dba1dbaa Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Change PlayerType names to Scene and ComponentChristian Strømme2018-10-292-11/+11
| | | | | | | ... the names Slide and ComponentSlide doesn't make much sense. Change-Id: I19d76012625d4d5c2eb4ed379305c21586678455 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Use id() instead of name() for components and slidesChristian Strømme2018-10-291-9/+9
| | | | | | | | Since the names aren't unique the output ends up being less then helpful. Change-Id: I7ba5270dcff0c191638ff591bbabdca7f64a62aa Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Make the output for time events say "at" instead of "after"Christian Strømme2018-10-291-2/+2
| | | | | Change-Id: I6472bc685562382328fcf0a6777271100bb2fcc8 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Change getSlideName() to output no-slide instead of nullptrChristian Strømme2018-10-291-1/+1
| | | | | | | This is just to make the output more readable. Change-Id: I631cb974bc584b6baa5800ceb914de72a477f66f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Print state changes using the states string nameChristian Strømme2018-10-291-1/+8
| | | | | | | | This is just for convenience to avoid the need to look up the values each time. Change-Id: I4a2ebc0ba8e8dda16a71c555a51b4d411f3d03c4 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Improve state handlingChristian Strømme2018-10-295-401/+380
| | | | | | | | | | | | | | | | | | | | This is an attempt to clean up and make the state changes more sane, i.e., by trying do everything once and in the right order. There are still ugliness in this code, but it should be more easily to follow now, aided by extra inline commentary. This change should also improve some of the flickering seen in some examples when changing slides, as we try avoid re-setting stuff when we don't need to. Since time updates for the new slide is deferred until the first time callback, some of the test needed to be changed to their QTRY_* version. Also, there's now a clear distinction between stopped and paused, where paused means the slides progress is stopped at time t, as expected and stopped means the slides values and state is reset to it's initial state. Task-number: QT3DS-1866 Change-Id: I7a9b61ee3ad4a976e0e8d4de386704dcf0d526bf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add doc note about View3Ds referring to the same layerLaszlo Agocs2018-10-291-0/+5
| | | | | Change-Id: Iab2fec467f334e63be0f21cc1b0a0f285f213744 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Support advanced blending for sterescopic modesKaj Grönholm2018-10-294-48/+137
| | | | | | | | | Generate custom advanced blending shaders when stereoscopic mode is on. Task-number: QT3DS-1023 Change-Id: I72a1f9eced6d3f60a0707e8ccb76ea4f587122e5 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Support stereoscopic renderingKaj Grönholm2018-10-2416-395/+1323
| | | | | | | | | | | | | This patch provides stereoscopic rendering support for Qt Studio qt3d-runtime. Contains API to switch between stereo modes (mono, top-bottom, left-right, analyph red-cyan & green-magenta) and to control eye (camera) separation. Adds menu into Q3DSViewer for these. Task-number: QT3DS-1023 Change-Id: I3da3d34606a07178978eba83236ca6cb6360e893 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>