summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem/qtechnique.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Check we remove a valid node when removing from node propertiesPaul Lemire2020-02-101-3/+6
| | | | | Change-Id: Ibcc4d9bfd9d0a9d7697151915f24a6eecc149f6d Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Paul Lemire2019-10-151-0/+4
|\
| * Merge remote-tracking branch 'origin/5.13' into 5.14Paul Lemire2019-10-151-0/+4
| |\ | | | | | | | | | Change-Id: I44133fbc9b93e96918463b0b0891ee5ab7db9f2c
| | * Add note to material system nodes that can't be disabledAntti Määttä2019-10-101-0/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-67017 Change-Id: I20acb3aa5e778be7752e1568b08001838f094eb3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Restore use of Added/Removed messages for aspects not supporting syncMike Krus2019-10-141-6/+6
|/ / | | | | | | | | | | | | | | | | If (third party) aspects don't support direct sync, restore use of PropertyValueAdded and PropertyValueRemoved messages so avoid breaking existing code Change-Id: Icac717583a8fe72acdb0cf599981251e310734bd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Undo deprecation on graphicsApiFilter() non const getterPaul Lemire2019-10-031-1/+0
| | | | | | | | | | | | | | | | While the non-const function should not have been added originally, deprecating it causes loads of warnings when compiling Qt 3D itself. Change-Id: Ibb2bc37975c649e35e252c88d8c748c234160e2e Reviewed-by: Mike Krus <mike.krus@kdab.com>
* | Clean up includesMike Krus2019-10-011-3/+0
| | | | | | | | | | | | | | | | | | Remove include statements for classes that are no longer used. Makes it easier to find remaining use cases that need addressed before complete removal in Qt 6. Change-Id: I60529ba1929ad64b162d3847d5df47cde2a60dad Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Update QTechnique to use direct syncPaul Lemire2019-09-191-36/+14
|/ | | | | Change-Id: I9e64880df50f10f7a1eebabe35c7c131044e1ab4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Add and improve examples in render states and material systemSvenn-Arne Dragly2018-03-251-6/+6
| | | | | | | | Also switch \code to \qml. Change-Id: I3f216a3abd55fdf51295ed14715f6f1ffc5e2ea4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* Improve QTechnique documentationPaul Lemire2017-04-261-17/+111
| | | | | Change-Id: I4fc3ff7256854968ae6a31fb30f4ad1721787e03 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QTechnique fix: was sending wrong change typePaul Lemire2016-09-191-1/+1
| | | | | | Change-Id: Ide125bd292f10d2363cd0928af2513efe9f25eaf Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Update QTechnique docsAntti Määttä2016-09-051-31/+59
| | | | | | Change-Id: I5345954047540ef1d03ba42841bfca221cc35b7e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* More doc for render-materialsystemColin Ogilvie2016-06-031-2/+2
| | | | | | Task-number: QTBUG-46037 Change-Id: I56e2f02992009d6ba1c094f46ad7c1e963fc9810 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* The rest of skeletal doc for render-materialsystemColin Ogilvie2016-06-031-6/+51
| | | | | | Task-number: QTBUG-46037 Change-Id: I3827b216edc6d457387865e6974bde2552812bbc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Shared node bookkeepingPaul Lemire2016-05-231-0/+15
| | | | | | | | | | | | 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/+5
| | | | | | | | | | | | | | 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 QSharedPointer::create() for some change objectsSean Harmer2016-05-121-1/+1
| | | | | | | | Uses one memory allocation for the shared pointer bookkeeping block and the object, rather than two. Change-Id: Ia8c587cf33e981e8a4e4dd565938217be76e256b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QNodeRemovedPropertyChange -> QPropertyNodeRemovedChangeSean Harmer2016-05-101-3/+3
| | | | | | Task-number: QTBUG-51494 Change-Id: I1c7f1c680bc18c6201b790e96dc4023564837122 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QNodeAddedPropertyChange -> QPropertyNodeAddedChangeSean Harmer2016-05-101-5/+5
| | | | | | Task-number: QTBUG-51494 Change-Id: I7f59bad66eb086e2249c580be2fd9f4bad159eb3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNodePropertyChange -> QPropertyUpdatedChangeSean Harmer2016-05-101-2/+2
| | | | | | Task-number: QTBUG-51494 Change-Id: Ic326499f80b5a91b2d19c09770de926f220cc805 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove QSceneChange::SenderTypeSean Harmer2016-05-101-1/+1
| | | | | | Task-number: QTBUG-51494 Change-Id: I2414bee3b9eb3bd1146fd356bb0552366e63a976 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove ChangeFlag from NodeUpdated change type ctorsSean Harmer2016-05-101-1/+1
| | | | | | | | | | | | ...and fix resulting compilation issues and tests. Had to temporarily allow QNode[Added|Removed] property change to be able to handle QVariant payloads too. This will be split out into a separate pair of classes in a future commit. Task-number: QTBUG-51494 Change-Id: I1748e3b8aa3c39fa171ee0c5af4204502826ba07 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename NodeUpdated ChangeFlag to PropertyUpdatedSean Harmer2016-05-101-1/+1
| | | | | | | | This more correctly reflects the semantic meaning. Task-number: QTBUG-51494 Change-Id: I3a230e959ea007f1d19808eae73b5d95b6f06514 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Q_NULLPTR -> nullptrSean Harmer2016-05-011-6/+6
| | | | | | Task-number: QTBUG-52736 Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNodeRemovedChange: contains QNodeIdTypePairPaul Lemire2016-05-011-2/+2
| | | | | Change-Id: I081f814c4d0a942e50c37cf30a5f731f67df5cb3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNodeAddedChange: contains a QNodeIdTypePairPaul Lemire2016-05-011-5/+5
| | | | | | | That allows to know what type of node was added Change-Id: I89829794655fac81bdc9840ae83473640b0a384a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Strip out cloning subsystemSean Harmer2016-04-291-15/+0
| | | | | Change-Id: I4def54a11de0f9c676ef6b2d7bd8e723ded25ab9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Technique use new added/removed change typesSean Harmer2016-04-271-25/+25
| | | | | | | | | The API filter still uses cloning. We need to find a way to avoid this. Either create a backend type or we could replace it with a Q_GADGET and set the baclend values when the whole thing changes (rare). Change-Id: I0039a3a374328b63dbcf2e618193fb2ea49b1b83 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QGraphicsApiFilter: get rid of the copy methodPaul Lemire2016-04-261-1/+2
| | | | | Change-Id: Iad48166c47395fb14be6486ec2a59b60a6578369 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Technique/Renderer: use GraphicsShaderDataPaul Lemire2016-04-261-13/+4
| | | | | | | Instead of creating QGraphicsApiFilter objects... Change-Id: Idc723bdea9b97fef547170bd7dca386e5ca4f519 Reviewed-by: Sean Harmer <sean.harmer@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>
* Rename QScenePropertyChange -> QNodePropertyChangeSean Harmer2016-04-211-8/+8
| | | | | | | Trying to unify naming of change types. Change-Id: I0bfca0b7ba5adeaaa6145f75ddb41731f76adc09 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QVectorize materialsystem classesWieland Hagen2016-04-161-3/+3
| | | | | Change-Id: I262f3ab1136fcb60066d623c44aedb6791fc18af Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTechnique creates creation changesSean Harmer2016-03-301-0/+21
| | | | | Change-Id: Iaca30a588c144a1b0879cb83043a443e043846e9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QAnnotation changesFranck Arrecot2016-03-171-5/+5
| | | | | | Task-number: QTBUG-51454 Change-Id: Iee08f6b1be39894c40926afb20e003d46bc735f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QTechnique renamingRobert Brock2016-03-081-11/+11
| | | | | | | | | | annotations -> filterKeys addPass -> addRenderPass removePass -> removeRenderPass Change-Id: Ica1731ee3100b249e4fef04f45c0e6326732d644 Task-number: QTBUG-51458 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-261-4/+0
|\ | | | | | | | | | | | | | | | | Conflicts: src/doc/src/qt3dcollision-module.qdoc src/render/frontend/qcamera.cpp src/render/frontend/qcameralens.cpp Change-Id: I8a0ae250a6b8e065a1ef3c817968ebb7ef23b20d
| * Doc: Exclude private header files from the documentation buildTopi Reinio2016-01-251-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | In the documentation configuration, exclude all '_p.h' files from the documentation build. This prevents QDoc from generating documentation for private classes, and also allows removal of documentation that explicitly set the private classes \internal. Change-Id: I8fcf5c99a2a0b75e9ee5dcd928fa4a2b4b8cf34f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Unify license header usageAntti Kokko2016-01-261-11/+14
|/ | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Rename QOpenGLFilter to QGraphicsApiFilterAndy Nichols2015-11-031-10/+10
| | | | | | | | | | | | | | | | | | | | | | This API change is part of an effort to remove anything specific to one graphics API (in this case OpenGL) from the public APIs. In addition to the name of the class being changed, the QGraphicsApiFilter::Api has been refactored to reference the Graphics API, rather than an OpenGL API. Now this list includes OpenGL, and OpenGLES, but could also include Vulkan, DirectX, or any other graphics rendering API we wish to support in the future. Right now the properties in this class are still reflective of the OpenGL APIs, and may need to be extended with other properties in the future for other rendering technologies. The QGraphicsApiFilter::Profile enum has also been changed to be more more clear. So for now there are enums NoProfile, CoreProfile, and CompatibilityProfile. Task-number:QTBUG-49078 Change-Id: Ib5f9c3b7adee5badec6bce8a12b23683eb43b4cb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Qt3DCore into Qt3DCore namespaceSean Harmer2015-10-131-1/+1
| | | | | | | Update other aspects, tests and examples accordingly. Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move material system into own directorySean Harmer2015-10-131-0/+253
Change-Id: Iddc3a5d41dc0aff858d8bc3c5b2f7982bd693d00 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>