summaryrefslogtreecommitdiffstats
path: root/src/render/frontend/qrendersettings.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Do direct notification of backend nodeswip/refactorMike Krus2019-08-281-4/+4
| | | | | | | | | | | | | | | | | Since aspect manager is now on main thread, we can directly update backend nodes safely. Track nodes which have changed properties and notify the backend nodes as part of the frame loop. This avoid allocating and delivering many change messages. To follow: - implement on all nodes - look at backend to frontend syncing - figure out what to do with non property messages (components added/removed, commands, ...) Change-Id: Ia0c442b0528e728c4324d168200bae021bc29266 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge branch '5.9' into 5.10Sean Harmer2017-09-301-1/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/animation/backend/animationutils.cpp src/animation/backend/animationutils_p.h src/render/geometry/qmesh.cpp tests/auto/animation/animation.pro Change-Id: Ifb57bfb0b12b3ebf9ee177d4ea684134455b4143
| * Copy size and pixelRatio when switching activeFrameGraphAnders Hafreager2017-09-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Copy externalRenderTargetSize and surfacePixelRatio from old to new surfaceSelector when setting activeFrameGraph on RenderSettings. Previously, when switching activeFrameGraph, surface was copied from old to new surfaceSelector, but these other properties were not. The rendered image was then stretched until window is resized again. Change-Id: I62b78da05c764f981813ab96b9a769bae7d786b2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for line pickingMike Krus2017-05-261-0/+9
|/ | | | | | | | | | | | | | | PickingSettings can ask to get line as well as triangle picks. Introduces a radius value to compensate for numerical precision in ray-segment intersections. Introduces QPickLineEvent with the details about the picking. Job will perform line picking if appropriate. Hit encode the type of picking and this is used to generate the right type of event. Task-number: QTBUG-58071 Change-Id: I834e6cc08044a8cfb28bba7443034e05267aedbf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: removed double definition of QRenderSettings::RenderPolicyNico Vertriest2017-03-141-7/+0
| | | | | | | | qrendersettings.cpp:76+175: warning: Overrides a previous doc Kept version on 175 due to its level of detail Change-Id: I1d78c86c73cecce6c100eb5514029bbf5be2cff9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRendererSettings::setActiveFrameGraph(): Set surface for new graphWieland Hagen2017-01-091-0/+10
| | | | | | | | | If the old frame graph already has a QRenderSurfaceSelector, use the surface assigned to this selector for the new frame graph, too. Task-number: QTBUG-57401 Change-Id: I5a0142d4ca40f5ff0047b7b42ae79fdc48189cf0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderSettings: document RenderPolicy valuesPaul Lemire2016-11-181-0/+8
| | | | | Change-Id: I261addd7ea8be65c2aaaa8ad820e9274aaf50d7e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-201-23/+73
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/render/framegraph/qrendersurfaceselector.cpp src/render/frontend/qrendersettings.cpp src/render/jobs/renderviewjobutils_p.h tests/auto/render/render.pro Change-Id: Ibe9eb962e3990e07f01a5608a2d60c79bc4c160f
| * Fix documentation of QRenderSettings and QPickingSettingsMiikka Heikkinen2016-09-051-23/+73
| | | | | | | | | | | | | | Task-number: QTBUG-55697 Change-Id: I7a357f6f00b62c1ef2042f4088374dcd34005110 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Silence 'no such slot' connect warning on startupAntti Määttä2016-09-021-2/+2
| | | | | | | | | | | | | | | | | | Add private slot for the function and use correct function name in the connect call. Change-Id: If27e3aa954ced1065fa8828efe156b6561c175ed Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Enable picking of back facing trianglesMike Krus2016-08-131-0/+9
|/ | | | | | | | | | | | Added faceOrientationPickingMode to picking settings, and propagate to ray picking code. Enum can be set to front (default), back or both. Removed use of TriangleBoundingVolume and copied intersection code to avoid changing too much of a call chain that should IMHO be refactored out. Change-Id: I2834f3b1a4147f23e0f52453c8d50c146bc29e10 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Adding QDoc to QRenderSettingsRobert Brock2016-06-011-0/+34
| | | | | | | | Adding skeletal documentation to QRenderSettings Task-number: QTBUG-46037 Change-Id: I51ec35693ec4a740152274edbbd938f404df5de5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Change default RenderPolicy to AlwaysMiikka Heikkinen2016-05-241-1/+1
| | | | | | | OnDemand policy doesn't work reliably in all cases yet. Change-Id: Id70e17a30f6600be988c28eedcd974eb1dcd3b3d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Shared node bookkeepingPaul Lemire2016-05-231-0/+9
| | | | | | | | | | | | Any time a property references a QNode there is a risk that the node gets destroyed and then the property is left pointing to a dangling pointer. To handle such cases, setters of such properties are able to use a helper that internally connect QObject::destroyed signal to a setter removal method. Change-Id: I42428c851d0e3d2d88ab0cf6a5b75605334ec648 Task-number: QTBUG-53456 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* De-inline dtors of public polymorphic classesMarc Mutz2016-05-191-0/+1
| | | | | | | | | | | | | | By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. It also allows to add code to them later, if necessary. Change-Id: I0da301cd788162abba6cdbbb21910090a22adb9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use delegating ctor for QRenderSettingsSean Harmer2016-05-181-5/+1
| | | | | Change-Id: I358af7931fbf7831532921db2a8e01717581126a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* De-inline QRenderSettings dtorSean Harmer2016-05-181-0/+4
| | | | | Change-Id: Ia77c72948126e4034e3d8a5b701e822e886c6774 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-2/+2
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Strip out cloning subsystemSean Harmer2016-04-291-9/+0
| | | | | Change-Id: I4def54a11de0f9c676ef6b2d7bd8e723ded25ab9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNode: make cleanup a private slotPaul Lemire2016-04-231-5/+0
| | | | | | | | | | QT3D_CLONEABLE now implements a default dtor that calls _q_ cleanup QT3D_CLONEABLE_CUSTOM_DTOR is used for classes that really need to implement their own dtor but they need to invoke _q_cleanup manually Change-Id: I2937a3b9edeb5a763749f0044360d78ab4461a5e Task-number: QTBUG-51464 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderSettings creates creation changesSean Harmer2016-04-101-1/+13
| | | | | Change-Id: I2565b933c7319130ba7eee6e9316df2d12f5936e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderSettings: Move picking related properties in QPickingSettingsMike Krus2016-03-111-35/+30
| | | | | | | | | Have only one picking property returning a pointer to that object (grouped QML property) Backend still has everything in one class though Task-Id: QTBUG-51506 Change-Id: Ib9626420a8ee86ad28168db02b171355499f87e3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderSettings: add RenderPolicy propertyWieland Hagen2016-03-091-0/+18
| | | | | | | | Users may want to explicitly choose a rendering policy, e.g. RenderOnDemand or AlwaysRender. Change-Id: I465c5ac671134e7bf42fbd950e475f86edc3a321 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Drop QFrameGraph in favor of QRenderSettingsWieland Hagen2016-03-091-0/+22
| | | | | | | | | QFrameGraph did store just the Frame Graph Root, and was not configurable at runtime. This functionality has been moved to QRenderSettings. The renderer now gets the scene graph root directly from QRenderSettings. Change-Id: I3012eb96b8073717f96f5e42374859a3f4a89bfc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Class QRendererSettings rename to QRenderSettingsFranck Arrecot2016-03-041-0/+111
Task-number: QTBUG-51459 Change-Id: Id304a16f81d310345792cf13c95fde7741246f5c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>