summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Render/StudioRenderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into wip/runtime2Miikka Heikkinen2019-01-171-0/+8
|\ | | | | | | Change-Id: I50c19d2b1766c9e05bbb8521c8087b5fb1d548fe
| * Don't start playback when interacting with sceneKaj Grönholm2018-12-041-0/+8
| | | | | | | | | | | | | | Task-number: QT3DS-2438 Change-Id: I0c6988ff5016dc0016a031d34a5758a624140458 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Implement dragging materials into objects on scene viewMiikka Heikkinen2019-01-141-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Since picking must now be done asynchronously, we cannot resolve the drag acceptance within the context of the current drag event. Instead we use the previously resolved value. This leads to the drag no being pixel perfect, but a regular user shouldn't notice the difference. Task-number: QT3DS-2897 Change-Id: I3bca0e22631977c926454010f28d021f5d023058 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Merge branch 'master' into wip/runtime2Miikka Heikkinen2018-12-041-13/+53
|\| | | | | | | | | | | | | | | | | | | src/Runtime/res/DataModelMetadata/en-us/MetaData.xml was not merged, as that is no longer in this repo. Changes to that need to be merged manually in qt3d-runtime. Some TODOs added to implement things in new renderer. Change-Id: Ic0a974c8942a72ef7c117b543a39b6c81f608c1f
| * Fix issues with rendering layers into overlay previewMiikka Heikkinen2018-11-101-21/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The renderer gets confused when we try to fake the presentation size, so always render the preview as presentation size instead of trying to render it smaller. We already need full size preview for the scene camera tab, so usually not rendering an additional smaller version is a performance gain. Since the overlay size is now capped to the presentation size, this shouldn't affect the preview quality. Task-number: QT3DS-2568 Task-number: QT3DS-2575 Task-number: QT3DS-2641 Change-Id: I75d4ab08089998c2b718ff9f9ab2640262997789 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Implement scene camera tabMiikka Heikkinen2018-11-021-6/+40
| | | | | | | | | | | | | | | | | | The scene camera tab on the bottom dockable area provides a zoomable pixel perfect view of the scene camera. Task-number: QT3DS-709 Change-Id: I7d96464e8208b9e57a1bd980fc6b71656028e49a Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
| * Ignore widgets when dragging matdefs to the sceneJere Tuliniemi2018-10-311-1/+1
| | | | | | | | | | | | Task-number: QT3DS-2108 Change-Id: I32eebcb26cffe01a479b61a8ce683e79278b9644 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Add DnD from project view to scene for materialsJere Tuliniemi2018-10-301-0/+12
| | | | | | | | | | | | | | Task-number: QT3DS-2108 Change-Id: I14285099bc7f945de5b9606711e4f68aef5ec870 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Improve Custom material assets loadingMahmoud Badri2018-10-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Some tweaks that focus on minimizing presentation loading time: - Prevent adding duplicate search directory. - A fix in matchCaseInsensitiveFile() method to use a cleanPath for comparison (I think this method should be removed altogether). - Other minor tweaks. Task-number: QT3DS-2535 Change-Id: Ieecbf67d37ef86e444d9b0b1de5e5361f26a3eae Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
| * Clean up StudioUtilsMiikka Heikkinen2018-10-181-4/+6
| | | | | | | | | | | | | | | | | | | | | | Made StudioUtils a class of static functions instead of global functions. Also cleaned up the code a bit where changes happened because of this change. Change-Id: Ic583dd25bf228c7e344be6664b6651958d84906e Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Merge branch 'master' into wip/runtime2Miikka Heikkinen2018-10-121-1/+1
|\| | | | | | | Change-Id: Iba77c822b4dfdcc52be8954b77612f2407f5681f
| * Change many CStrings to QStringMahmoud Badri2018-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - A lot of CString, CFilePath, and Qt3DSFile occureneces and their relevant code has been removed to save the costy back and forth conversion between CString and QString. - Renovated several classes as part of the process (Preferences classes, recent items, build configuration, probably few more) - Assorted tweaks here and there Task-number: QT3DS-1899 Task-number: QT3DS-2455 Change-Id: Ibbf4c3b7ab0b9fe6e19d8aed822fa29d43b99086 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Implement edit camera modesMäättä Antti2018-09-281-1/+1
|/ | | | | | Task-number: QT3DS-2073 Change-Id: I033344aba1832db1653cb2ee23bffe81dfcf7790 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Merge branch '2.1' into masterMiikka Heikkinen2018-09-251-3/+19
|\ | | | | | | Change-Id: Idfecbefcf5c1e279093f250a4a46d57f2a518d25
| * Fix focusing non-physical objectsMiikka Heikkinen2018-09-111-3/+19
| | | | | | | | | | | | | | | | | | | | | | Fake a bounding box when focusing a camera, a light, or an empty group in perspective view. Task-number: QT3DS-2282 Change-Id: Ia9fe83233e3d45ff480a8311bd4aa6a4430cf6b9 Reviewed-by: Teemu Tamminen <teemu.tamminen@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Fix switch-cases not handling all possible valuesPasi Keränen2018-09-111-0/+2
|/ | | | | | | | | | Add default handling for switch cases missing it and remove the switch case related warning suppression with clang builds. Task-number: QT3DS-2243 Change-Id: Ib87d51468bbfa00284c6849363751ccb056f7eb7 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix preview view issuesMiikka Heikkinen2018-08-141-10/+13
| | | | | | | | | | | | | | | Dragging was inaccurate when preview view was shown due to incorrect translation being left after preview view was rendered. Changed the preview view to render first to a texture, which is then draw on top at the end of the regular view rendering pass. The viewport for camera was also incorrect for preview view. Task-number: QT3DS-2036 Change-Id: I3ed8f092c2a2a2f3806d5219ca8fb7718a8d4fe0 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Improve the project fileMahmoud Badri2018-08-141-5/+4
| | | | | | | | | | | Changed the project name and path types to QString instead of the notorious CString and CFilePath. Removed 2 member variables and a method. Also improved the conversion from absolute to relative paths. Task-number: QT3DS-2001 Change-Id: I79619ca2aebd21e5e29abc219a62831ee2117be4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Prevent dragging selected object when matte is clickedMiikka Heikkinen2018-08-071-51/+56
| | | | | | | | | | Now clicking outside presentation area deselects all objects like clicking empty space inside the presentation area. Task-number: QT3DS-2034 Change-Id: I447393f224b9d87123a34d4d30a856c7f795d6b8 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Implement scene lighting toggleMäättä Antti2018-08-011-5/+2
| | | | | | | | Task-number: QT3DS-1653 Change-Id: I6b9f4c2461ae7371603d3e721a965f9c9cb520f0 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Implement scene view preview in edit modesMäättä Antti2018-08-011-2/+11
| | | | | | | | Task-number: QT3DS-250 Change-Id: Iaf7bf245ebf3de00339f5cbfb0f9fc2d4f099373 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Replace NVMin and NVMax with qMin and qMax in studioMäättä Antti2018-08-011-12/+12
| | | | | | | Change-Id: Icafb1c544c973f60d7a524c57dad8e1e2f584f74 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Janne Kangas <janne.kangas@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Update window when subpresentations have been loadedMäättä Antti2018-08-011-1/+27
| | | | | | | | Task-number: QT3DS-2007 Change-Id: If50e5d644388f1eef538300e4efee371a284ffbb Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Implement uip subpresentation preview in studioMäättä Antti2018-07-311-4/+15
| | | | | | | Task-number: QT3DS-1849 Change-Id: I3ec3803ea1fbe0d59ba933d69ab0da92c42a9054 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Fix crash on studio exitJanne Kangas2018-07-271-0/+3
| | | | | | | | | Check for context pointer validity before trying to release offscreen renderers. Change-Id: Ie0eafe0cdda76a85bc94b278202e58ce58f0a30b Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Release offscreen renderers for subpresentations when closing presentationJanne Kangas2018-07-261-0/+20
| | | | | | | | | | Release renderers before clearing the list of subpresentations to avoid assert when reopening the same presentation again. Change-Id: I468f4a0b539d9bb5a7193fc225700259a2ebaff9 Task-id: QT3DS-1977 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Add presentation id to the presentation settings panelMahmoud Badri2018-07-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | - The presentation settings panel appear after creating a new presentation - The presentation settings panel now show the presentation Id (for the currently open presentation) - Added logic to make sure the presentation id remains unique - Added a command prompt option (--add) to add a presentation to project, if the option is absent, a new project is created - Added a context menu 'edit presentation id' action to the presentation items in the project palette - removed the sub presentations menu option and dialogue - Added the ability to import a presentation. This will also import all presentations related assets (images, models, fonts...etc). If an asset already exists a message box is displayed so that the user can choose whether to override or skip the file. The only missing thing is that subpresentations are not imported. This part is to be discussed and/or implemented in a separate task. Change-Id: I9fa96227efa82b4cef90615f1f069530419db7b6 Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Disable dragging from scene view when multiple objects are selectedMiikka Heikkinen2018-07-031-59/+61
| | | | | | | | Task-number: QT3DS-1954 Change-Id: Ifcdf6cd4e04d75e86f7510dc06ba45792e5d5a76 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Implement preview of qml streamer content in studioMäättä Antti2018-06-191-2/+76
| | | | | | | Task-number: QT3DS-665 Change-Id: Ib8adeaa68e7116161bf898dd898215240a64f1ab Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Consolidate stdafx headers into Qt3DSCommonPrecompile.hMiikka Heikkinen2018-06-121-2/+2
| | | | | | | | | Task-number: QT3DS-256 Change-Id: I1ab44e93bf505f68690114f2a2c5f1a012e02af1 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Enable multiselection in the viewportMahmoud Badri2018-06-061-2/+9
| | | | | | | | | Ctrl + click objects in the viewport to toggle their selection status Task-number: QT3DS-1408 Change-Id: Id5650c67781ccbb4384ab6a5d46c192b2e6bff19 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Update scene renderer display scaling factor when GL view rect changesJanne Kangas2018-05-301-6/+9
| | | | | | | | | | | | Get current display scaling factor when render rectangle changes size. Fixes incorrect mouse click coordinate mapping after rescaling (Studio window moved from one monitor to another, for example). Change-Id: Id9d82775e9c11fac308085b0a7891dfa610e8d05 Task-Id: QT3DS-1673 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix 'fit selected' for scaled objectsMiikka Heikkinen2018-04-161-1/+3
| | | | | | | | Account for object scale when determining fit extents. Task-number: QT3DS-1444 Change-Id: I3d68db98287c90e1edc4c5c69f606389e8239e1b Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix orbit cameraMiikka Heikkinen2018-04-131-24/+30
| | | | | | | | | | Orbit camera now keeps horizon level Task-number: QT3DS-1381 Change-Id: I2b999a913d1df82971300db31e0b877b0b70f234 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Teemu Tamminen <teemu.tamminen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Allow deselecting by clicking an empty spot in scene viewTomi Korpipaa2018-03-191-12/+13
| | | | | | | Task-number: QT3DS-374 Change-Id: I0a53bc9e774e94f46a7549d3243115d5cdadc290 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove nudging with arrow keys functionalityMiikka Heikkinen2018-02-061-13/+0
| | | | | | | | | | | According to UX people, the nudge functionality is not desirable, so remove it. Task-number: QT3DS-954 Change-Id: Ie73ecec098c9d9215d95c7913ed153a6aaed2aa6 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Rename the rest of the UIC to Qt3DSMäättä Antti2017-10-241-33/+33
| | | | | | Task-number: QT3DS-18 Change-Id: Ia8141980f575565ee7dbfa33422f25f121da5fe1 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Rename CUICDM type names to Qt3DSDMMäättä Antti2017-10-241-5/+5
| | | | | | Task-number: QT3DS-18 Change-Id: Ia0ba2bb501f7d66b0088bd568bfad46a678ac078 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Rename instance and property handles to Qt3DSMäättä Antti2017-10-241-10/+10
| | | | | | Task-number: QT3DS-18 Change-Id: Id93959e382dd9285590fdf979c71a459e7657e01 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Replace UICDM namespace with qt3dsdm namespaceMäättä Antti2017-10-241-12/+12
| | | | | | Task-number: QT3DS-18 Change-Id: I8a76c6be45eee7285a21cdf87ac28b88c4522102 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Replace uic namespace with qt3ds namespaceMäättä Antti2017-10-241-5/+5
| | | | | | Task-number: QT3DS-18 Change-Id: I3a39265bb47930e4f4924aab4b098a40f15c5b0a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Initial importOswald Buddenhagen2017-10-061-0/+883