summaryrefslogtreecommitdiffstats
path: root/src/Viewer
Commit message (Collapse)AuthorAgeFilesLines
* Make API related classes easier to findPasi Keränen2019-05-1648-6399/+19
| | | | | | | | | | | Make files defining the API and API implementation more visible by moving them to separate folder, just like in Qt 3D Runtime. Rename to be more in line with Qt 3D Runtime similar classes (and also make filename match class name). Task-number: QT3DS-3478 Change-Id: Ie7b91ab7c1dce09c3a07b9f385af8e7ed24c536a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix image loading when using Q3DSSurfaceViewerJere Tuliniemi2019-05-162-0/+2
| | | | | | | | | | | Delayed loading bool was never properly propagated to the runtime. A pointer was instead converted to a bool value and was always true causing delayed loading to be enabled and images not be loaded. Task-number: QT3DS-3411 Change-Id: I4b328077625942e846d08129313ef21e6d0c5a45 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Expose presentationLoaded signal to QMLJanne Kangas2019-05-162-0/+3
| | | | | | | | | | | | | | In addition to presentationReady, expose presentationLoaded to QML. These signal namings were previously used interchangeably in runtime, with presentationLoaded signal from engine being used to trigger presentationReady in surfaceviewer. This caused eg. Homeautomation demo to stop working with recent signal changes, as presentationReady is never emitted during splash screen. Task-ID: QT3DS-3507 Change-Id: Ia392b4651b68571df59ee8895fed42643e419fba Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement Q3DSSurfaceViewer::presentationReady in OpenGL RuntimeJanne Kangas2019-05-154-1/+6
| | | | | | | | | | | | | New signal fixes the issue where setAttribute calls triggered at presentationLoaded() were lost as the runtime overrode attribute values with initial values in UIP file. presentationReady signal is triggered when the initial property values are set, and setAttribute can be safely called to update properties. Task-id: QT3DS-3398 Change-Id: Id605ddeb92766da11e0280a276ffc5e36c57b931 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add elementCreated signalMiikka Heikkinen2019-05-145-3/+13
| | | | | | | | | | Also unified elementCreated and materialCreated signals to include error string to indicate failure. Task-number: QT3DS-3418 Change-Id: I4b60b1e32594b2993a5a421ac1ce66d33b521a05 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add material creation to runtime C++ APIMiikka Heikkinen2019-05-147-10/+48
| | | | | | | | | | | | | | Materials can only be created into the material container, animatable materials are not supported. Elements using new created materials should not be created before Q3DSPresentation::materialCreated signal is received. Task-number: QT3DS-3377 Change-Id: I782f09094d5f7151d7e1dab28b76fbbfdfcb6066 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Jari Karppinen <jari.karppinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Remove circular build dependencywip/qtifyJanne Kangas2019-05-093-7/+9
| | | | | | | | | 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 presentationLoaded to Q3DSSurfaceViewerAntti Määttä2019-05-072-0/+3
| | | | | | | Task-number: QT3DS-3260 Change-Id: I4db352a640d62fde91d113865a985386ba24c512 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add deleteElement to C++ APIMiikka Heikkinen2019-05-076-9/+26
| | | | | | | | | 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-076-11/+85
| | | | | | | | | | | | 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-076-3/+10
| | | | | | | | | 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>
* Implement dynamic loading of slide resourcesAntti Määttä2019-05-036-2/+74
| | | | | | | | | | | | | | | 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>
* Add customSignalEmittedAntti Määttä2019-04-302-0/+5
| | | | | | | Task-number: QT3DS-3215 Change-Id: If36cca0d864b8c2fa7fd6ec499ace678ecaa206a Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix build warningsAntti Määttä2019-04-291-1/+1
| | | | | | | | | | - Fix include paths in pro file - Fix includes in public headers Change-Id: Icbc2ff8d8eba76480f59ab975ee39f150c6f09e4 Reviewed-by: Pasi Keränen <pasi.keranen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Set presentation id only when availableKaj Grönholm2019-04-291-2/+2
| | | | | | | | | | | | Don't set any default presentation id for Q3DSSurfaceViewer. This way studio application uses filename as the presentation id like before, keeping surfaceviewer autotests passing. Task-number: QT3DS-3213 Change-Id: I461ec30fbf8e73b3b2f7fd433a849a2e600a74b8 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>
* Fix crash in editor when using qml streamAntti Määttä2019-04-243-0/+22
| | | | | | | | | | | | | | | | | | | | 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-1610-30/+229
| | | | | | | | | 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 variant support to OpenGL runtimePasi Keränen2019-04-1112-6/+90
| | | | | | | Task-number: QT3DS-3193 Change-Id: I5606d452104659e60ecbc2e8e08ec3e6f5b15cbc Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Rename Slayer runtime moduleTomi Korpipaa2019-04-048-43/+22
| | | | | | Task-number: QT3DS-3256 Change-Id: I813ad2e02c619754252a90ed150c12ebaeacc9ce Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Change slide indices to match Runtime 2Jere Tuliniemi2019-03-291-5/+5
| | | | | | | | Slide indices currently start from 1, but start from 0 on Runtime 2. Task-number: QT3DS-3248 Change-Id: I01237e481354d1a7a2b969a22eb42015178915d3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Revert "Remove legacy viewer"Miikka Heikkinen2019-03-2632-1/+3571
| | | | | | | | | | | | | | This reverts commit 4193fc4f00c2e687ca82de589603c7fa133bff50. Also made the legacy viewer button show up by default. The viewer doesn't currently show materials correctly, that will be fixed in a separate patch. Task-number: QT3DS-3198 Change-Id: I079eb31d9240abde496d91edc9f5611c3fbbe6a7 Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Merge branch '2.1' into masterMiikka Heikkinen2018-09-2533-3576/+6
|\ | | | | | | Change-Id: Idfecbefcf5c1e279093f250a4a46d57f2a518d25
| * Switch on QMetaTypes instead of QVariant enumsJanne Kangas2018-09-101-5/+5
| | | | | | | | | | | | | | | | | | | | Silence compiler warnings by switching on QMetaTypes to avoid mixing QVariant and QMetaType enums. Task-ID: QT3DS-2293 Change-Id: Ibfe2fe794339711a7d57f33b17cb7dd403da8999 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Remove legacy viewerTomi Korpipaa2018-09-1032-3571/+1
| | | | | | | | | | | | Task-number: QT3DS-2291 Change-Id: I0a11dfc1d69e4844e67476b60bc40da99c6ad12a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Fix Android buildTomi Korpipaa2018-09-191-4/+0
|/ | | | | | | | | Remove other obsolete files at the same time. Task-number: QT3DS-2361 Change-Id: I5c8178d071aff212c46e50c5660af723197184bb Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove binary compiler and binary format handlingTomi Korpipaa2018-03-072-8/+5
| | | | | | Task-number: QT3DS-907 Change-Id: Id278db9a0179424f2d86d4ba9e91f76ebef41b46 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix qmlstreamer in rc2Määttä Antti2018-02-231-4/+2
| | | | | | | | | Remove duplicate import path. Task-number: QT3DS-1212 Change-Id: Iab288fa848e801de15b99187410409034f73f0a1 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Fix remote deployment for main uipTomi Korpipaa2018-02-231-3/+15
| | | | | | Task-number: QT3DS-1194 Change-Id: I75c6fca664bfc43da400ec25bda201d5cb9a487a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix Qt3DViewer standalone buildTomi Korpipaa2018-02-065-4/+23
| | | | | | | Standalone build is needed to create Android apks, for example. Change-Id: I344fcf54e079375166861da4f6eb865f19095065 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Improve connection logic in viewerMiikka Heikkinen2018-02-065-12/+92
| | | | | | | | | | It is now more clear what is going on with the remote connection. Task-number: QT3DS-955 Change-Id: I687575589f734f6b355ee72c5dea74dd7d41ba1e 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>
* Treat all DataInput value sets as changesMiikka Heikkinen2018-02-021-4/+7
| | | | | | | | | | | Since the local value doesn't accurately reflect the actual value of the controlled value in the presentation, we treat all value sets on DataInputs as value changes and act accordingly. Change-Id: I96adc255263a5523fe951e0a4d67c51d6f0a7043 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Need to mark the next frame dirty otherwise we skip frames at startAdam Treat2018-02-021-0/+1
| | | | | | Task-number: QT3DS-878 Change-Id: Ia8bbe69e402b7d8000f672b9f6d890d07b3ac6f8 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix missing initial value of DataInput qml elementMiikka Heikkinen2018-01-263-12/+19
| | | | | | | Change-Id: Ied050b032014ed311ceeb0e44da65e80872eef3b Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Don't attempt to restore viewer window geometry to offscreen positionMiikka Heikkinen2018-01-261-1/+9
| | | | | | | | | Task-number: QT3DS-861 Change-Id: I58a7327e3204f26eaeb7eb04bb99de2f3d8cbf57 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add QML type and C++ class for data inputMiikka Heikkinen2018-01-2613-11/+421
| | | | | | | | QML type is DataInput. C++ class is Q3DSDataInput. Task-number: QT3DS-387 Change-Id: I7f871ae3e1149adee7859fdb8f844e8f90837264 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add new revision for Studio3D importTomi Korpipaa2018-01-251-0/+3
| | | | | | Task-number: QT3DS-414 Change-Id: I2ae42c5c32eaa70ea6b2b3be67c560ab4b587bed Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add presentationReady signal to Studio3DTomi Korpipaa2018-01-254-0/+8
| | | | | | | | | | | | The running property does not work if presentation is not visible, and neither does the Component.onCompleted for the Presentation element. This signal allows showing splashscreens while getting things ready. Task-number: QT3DS-414 Change-Id: Id6c633cc9d5def5375d85e8a11eb23f6b8b69aff Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Startup Viewer in connection mode by defaultMiikka Heikkinen2018-01-233-3/+8
| | | | | | | | | | Also fixes a couple of usability bugs related to IP entry 'dialog': - IP entry buttons now respond to mouse - Port is updated properly when accepting via mouse click Task-number: QT3DS-814 Change-Id: I7694fc2e3ef3e8f4673e4ea2bdfe389f23112362 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix viewer hotkeysMiikka Heikkinen2018-01-221-5/+24
| | | | | | | | | Related documentation was also fixed. Task-number: QT3DS-813 Change-Id: I387fd6c0eed7f11881dbfb55d87a61bc507c5127 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix viewer application on OpenGL Mesa systems on linux for instanceAdam Treat2018-01-221-0/+57
| | | | | | | | | This takes inspiration from very similar code in the new qt3d-runtime to fix finding a good surface format for linux based mesa systems. Change-Id: Ica2e6e1af171ddea8bb93e7dac2722e76958ed83 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add frameUpdated signal to surfaceviewerMäättä Antti2018-01-032-0/+3
| | | | | | | This enables benchmarking using the surface viewer. Change-Id: I2fcbde8e452307facff5f2db7b2f814987b73aa5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove obsolete Viewer.rcMiikka Heikkinen2018-01-021-54/+0
| | | | | Change-Id: Ic92d301d908224ee75793833a4d72757e40d7a7f Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix viewer commandline documentationMiikka Heikkinen2018-01-021-1/+1
| | | | | | Change-Id: I2acebd7ae9825d27c796c2a2a3425ec6105de760 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Add more viewer command line parametersMiikka Heikkinen2017-12-153-36/+57
| | | | | | | | | | Added parameters for setting matte color, render stats, and scale mode. Task-number: QT3DS-701 Change-Id: I989c8fe63c402b7c59090b0e54a70110daf59b38 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Don't clear initial command queue on successful initializationMiikka Heikkinen2017-12-151-1/+2
| | | | | | Change-Id: Ifd6e60181a07feaa3454e44b1616e06c524b7ab1 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Ensure qml stream proxy gets created in main thread1.0Miikka Heikkinen2017-12-141-0/+3
| | | | | | | | | | Otherwise this will crash when trying to view presentations with qml streams in them when no sub-presentation settings have been set. Change-Id: I490eacc0669a4c68eef1c4d00de7da8593c353f7 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Remove widgets from viewerMiikka Heikkinen2017-12-1425-1299/+1570
| | | | | | | | | | | | | Also includes other improvements to viewer application. Task-number: QT3DS-75 Task-number: QT3DS-687 Task-number: QT3DS-689 Change-Id: I6a5054b4b821d652f536f2c7eaa1bb4c508250c3 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix endless initialization loop when opening invalid presentationMiikka Heikkinen2017-12-141-0/+1
| | | | | | | | Command queue was never cleared if initialization failed, so source was always considered changed. Change-Id: I1ed85b85ab1031820c44ea672776110cc1b1a09d Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Doc: Fix a number of documentation issuesTopi Reinio2017-12-051-4/+1
| | | | | | | | | | | | | | | | | | | | - Fix wrong version; docs pick up the MODULE_VERSION from qmake.conf. - Fix license documentation; qtattributionsscanner outputs to doc/, so 'sourcedirs' in qt3dstudio-project.qdocconf needs to include the root doc directory. - Remove doc build from src/Viewer/qmlviewer; this caused the documentation to be built twice. - Fix 'examplesinstallpath'. - Add sidebar (qt5-sidebar.html) with quick TOC links to online docs. Change-Id: Iafa9bee6cf34843d1355d3106adb1a3602fb61a5 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add svg icons for viewer and studioTomi Korpipaa2017-12-041-0/+38
| | | | | | Task-number: QT3DS-627 Change-Id: If5122c62b27f6f240120679835b269df006c8b95 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>