summaryrefslogtreecommitdiffstats
path: root/src/render/renderstates
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Use correct qml module names for qml typesPaul Wicking2019-10-141-0/+1
| | | | | Change-Id: I19c9f2a3d31af77366316e78194a15789d1b67f9 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-232-2/+2
|\ | | | | | | Change-Id: I2a66e9344b72524431885bdf5f59fcaedb94c718
| * RenderStates: fix override of nested RenderStatesPaul Lemire2019-07-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When merging states, make sure we don't add several states of the same types with possibly different values. We should only add states with type we don't already have. Since the FG traversal is done from leaf to root, we know that the states we already contain should override any state that may have been specified higher up in the FG branch. Change-Id: I9bd1eadd37e8addf740a4b85b2318f9be269fedb Task-number: QTBUG-76766 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Switch export macros to standard formKai Koehne2019-04-0239-39/+39
|/ | | | | | | | | | | | Qt expects the export macros to have Q_ prefixes, otherwise the symbol versioning script won't find them and mark them. Also remove non-exising QT3DLOGIC_PRIVATE_EXPORT macro from src/doc/qt3d.qdocconf Task-number: QTBUG-74752 Change-Id: I71b9e85ff09c002fb283824aa51a5a8f50e937f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add missing dots (qt3d)Paul Wicking2018-06-1911-22/+22
| | | | | | Task-number: QTBUG-68933 Change-Id: I4226b8b9d70548b6921948c5ea47520f40f5df98 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Fix documentation warnings related to Clang QDoc parserTopi Reinio2018-04-201-3/+3
| | | | | | | | | | | | | | | | | | | | | Since Qt 5.11, QDoc uses Clang to parse C++ documentation. Clang requires a module header, as well as proper include paths, to build a precompiled header and process the sources. To do this, add a custom module header that pulls in all Qt 3D modules - this way, we can continue using a single documentation project to covers all of Qt 3D. Fix all documentation warnings are caused by missing namespaces, QML module/type names and typos, as well as a number of linking problems and other minor issues. After this change, the remaining documentation issues consist of 'No documentation for ...' warnings. Task-number: QTBUG-67790 Change-Id: I38b91163c475a00cc1893e793240470c5409eb57 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Add and improve examples in render states and material systemSvenn-Arne Dragly2018-03-252-2/+160
| | | | | | | | Also switch \code to \qml. Change-Id: I3f216a3abd55fdf51295ed14715f6f1ffc5e2ea4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* RenderStates: rework to split node and rendering partPaul Lemire2018-03-196-242/+200
| | | | | | | | | | The apply method was removed from GenericState and its subclasses. This allows to keep the GenericStates in the aspect part and let the renderer perform the right calls based on the state class it is provided with. Change-Id: I9c3ac04b4eb489e7443e67615e35e850c0aba07f Task-number: QTBUG-61151 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Move Renderer specific classes into new folderPaul Lemire2018-03-193-526/+2
| | | | | | | | This is another step toward isolating the renderer from the render aspect Change-Id: I4031675b961d6645b65bbe05cf62d150993038b0 Task-number: QTBUG-61151 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Split GraphicsContext in twoPaul Lemire2018-03-163-7/+6
| | | | | | | | | - GraphicsContext is now a stateless wrapper around GL calls - SubmissionContext is a GraphicsContext + caches and states used to render a frame Change-Id: I147b56dfd4c403911faadc0e9821fff9a892f71c Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Fix documentation warnings for Qt 3D RenderTopi Reinio2018-02-282-2/+3
| | | | | | | | | | | | | This change fixes multiple QDoc warnings for Qt 3D Render that are related to how Clang parses the source code and the \fn QDoc commands. A number of changes are related to preventing documentation for private classes from generating warnings. We still have a number of 'No documentation for ...' warnings left - those are not addressed in this change. Change-Id: Ic92a729496a81e7869060811ed7dd23408cff833 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Merge branch '5.10' into devSean Harmer2018-01-261-4/+69
|\ | | | | | | Change-Id: I4728b29c349a16867951a781c9417054c798e04a
| * Merge branch '5.9' into 5.10Sean Harmer2018-01-251-4/+69
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/cameralens.cpp src/render/backend/cameralens_p.h src/render/jobs/pickboundingvolumejob.cpp src/render/jobs/updatelevelofdetailjob.cpp Change-Id: I5433dde8ace462d11f037742d45f555c87235ffe
| | * Doc: Add examples and enumeration to QCullFace documentationSvenn-Arne Dragly2018-01-251-4/+69
| | | | | | | | | | | | | | | Change-Id: I0196e0305d205b7499c77644c0fdd42eb671a309 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge branch '5.10' into devSean Harmer2018-01-172-2/+2
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * | Merge branch '5.9' into 5.10Sean Harmer2018-01-122-2/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/animation/backend/handle_types_p.h src/extras/defaults/qtexturematerial.h src/render/backend/entity_p.h src/render/backend/handle_types_p.h src/render/backend/renderview.cpp src/render/io/scenemanager.cpp Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
| | * Fix includes of Qt classesFriedemann Kleint2017-11-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The convention <QtModule/QClass> should be used. Among other things, this makes generating Python bindings possible. Task-number: PYSIDE-487 Change-Id: I32f114377dd70d27dee71a44b05c81474eb5dac3 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | Raise minimum supported MSVC version to 2015Friedemann Kleint2018-01-052-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove code for older versions and streamline #ifdefs. Task-number: QTBUG-51673 Change-Id: I99438ca4733e28c432e3339b7d887dc040da5a37 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_FINAL with finalKevin Funk2017-09-252-6/+6
| | | | | | | | | | | | | | | Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-2519-51/+51
|/ / | | | | | | | | Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.9' into devSean Harmer2017-08-198-43/+151
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/renderer.cpp src/render/backend/renderview.cpp src/render/graphicshelpers/graphicscontext_p.h src/render/graphicshelpers/graphicshelperes2_p.h src/render/graphicshelpers/graphicshelpergl2_p.h src/render/graphicshelpers/graphicshelpergl3_2_p.h src/render/graphicshelpers/graphicshelpergl3_3_p.h src/render/graphicshelpers/graphicshelpergl4_p.h src/render/graphicshelpers/graphicshelperinterface_p.h src/render/jobs/pickboundingvolumejob.cpp tests/auto/animation/clipanimator/tst_clipanimator.cpp tests/auto/auto.pro tests/manual/manual.pro Also disabled the QQmlMetaType codepaths following commit 49a11e882059ee1729f776722e085dd21d378c36 in qtdeclarative. The QQmlMetaType codepaths will be re-enabled once a qt5.git integration has succeeded. Change-Id: Ia654d75425e6d406c472d19864383612208cad2b
| * Implement property updates for QStencilTest and QStencilOperationWieland Hagen2017-08-036-30/+128
| | | | | | | | | | | | | | | | Make sure to catch all changed signals from the arguments classes and re-send the arguments to the backend. Change-Id: I0a5e2f42fce4c5ff81489d8a66ad277aa607db0c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix QAlphaMask and QStencilMask render states property updatingWieland Hagen2017-08-033-1/+10
| | | | | | | | | | Change-Id: Ie11ce88441a6d287d50d1cb78365a65b2742a502 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add QRenderState unit testWieland Hagen2017-08-031-1/+1
| | | | | | | | | | | | | | Backend nodes should receive frontend proeperty changes Change-Id: I19ba70d08de833aab467a51d5b21553f0b602ec6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix RenderState property updatesWieland Hagen2017-07-221-11/+12
| | | | | | | | | | | | | | Some had old property names Change-Id: Id82fcce9dac05d2566bafabebf66ff51300db16d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add QLineWidth::smoothed propertyWieland Hagen2017-07-066-2/+37
| | | | | | | | | | | | | | to enable/disable GL_LINE_SMOOTH Change-Id: I8ca3666c150457b8c207096675c3030192b23842 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add missing we mean it warning to qlinewidth_p.hSean Harmer2017-06-261-0/+11
| | | | | | | | | | Change-Id: I3adc398bb4dd9aa08f4a5d67b51eacce9b38874c Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Merge branch '5.9' into devSean Harmer2017-06-1918-34/+36
|\| | | | | | | | | | | | | | | | | Conflicts: src/render/frontend/qcameralens_p.h src/render/texture/qtexture.cpp src/render/texture/qtexture_p.h Change-Id: I20b25cf123f44c96f69ca5f8e042a38692e5cb49
| * Add missing private export macrosMike Krus2017-06-1615-15/+30
| | | | | | | | | | | | | | | | Was found when Nathan tried extending QCamera. Probably good to go through other parts of Qt3D. Change-Id: I317acaa36ffe3fd0b1ac0bbf4af70eabb1111ab7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Remove redundant code in AlphaCoverage/SeamlessCubemap render statesMauro Persano2017-06-083-19/+6
| | | | | | | | | | | | | | | | | | | | The render states AlphaCoverage and SeamlessCubemap will only be added to the render set when their nodes are enabled, so there's no need for an additional boolean field in their backend nodes. Task-number: QTBUG-60419 Change-Id: I3184c665b1d1bd10c067428b2acac6cfb68bd638 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add LineWidth render stateMauro Persano2017-06-0810-0/+293
|/ | | | | | Task-number: QTBUG-58526 Change-Id: I131d77973e5f8176eb6868c795398446b22b77c1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Specify #include path for each \classTopi Reinio2016-12-072-0/+2
| | | | | | | | | | | | QDoc tries to guess the correct #include statement, displayed in the requisites table in the class reference. However, this often produces incorrect information for a module as complex as Qt3D. To fix this, manually specify the include path with the \inheaderfile command. Change-Id: I42929b92600d07d759f4f76e9051ff656785c652 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-2821-323/+999
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/input/backend/updateaxisactionjob.cpp src/render/renderstates/qalphacoverage.cpp src/render/renderstates/qclipplane.cpp src/render/renderstates/qdithering.cpp src/render/renderstates/qseamlesscubemap.cpp src/render/renderstates/qstenciltest.cpp Change-Id: I5b279d30bbbb06af5e8ee9fc47e9794b78a567f5
| * Update docs for render states part 2Antti Määttä2016-11-1410-198/+559
| | | | | | | | | | | | Change-Id: I1ce94b0c6d25c709cb9e4f2e0a37ec6c68217ef9 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Update docs for render statesAntti Määttä2016-11-1411-117/+436
| | | | | | | | | | | | Change-Id: I40379d4b20baf79657926a1cef5b29e83579b46c Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix Clang warning about overwriting a vtableThiago Macieira2016-11-021-4/+4
| | | | | | | | | | | | | | | | | | | | statevariant_p.h:100:20: warning: destination for this 'memcpy' call is a pointer to class containing a dynamic class 'BlendEquationArguments'; vtable pointer will be overwritten [-Wdynamic-class-memaccess] statevariant_p.h:100:20: note: explicitly cast the pointer to silence this warning Change-Id: I149e0540c00745fe8119fffd146452409ca5c945 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | LCOV exclusion comments squashedPaul Lemire2016-11-239-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a combination of 60 commits. qlockableobserverinterface_p.h: add LCOV exclusion comments qobserverinterface_p.h: add LCOV exclusion comments qpostman_p.h: add LCOV exclusion comments qsceneobserverinterface_p.h: add LCOV exclusion comments qscene_p.h: add LCOV exclusion comments qnodeid.h: add LCOV exclusion comments quick3dshaderdataarray_p.h: add LCOV exclusion comments quick3dshaderdata_p.h: add LCOV exclusion comments qquaternionanimation_p.h: add LCOV exclusion comments qabstractphysicaldeviceproxy_p.h: add LCOV exclusion comments qmouseevent.h: add LCOV exclusion comments qmousedevice.h: add LCOV exclusion comments qaxisaccumulator.h: add LCOV exclusion comments qtextureimagedatagenerator.h: add LCOV exclusion comments qtexturewrapmode.h: add LCOV exclusion comments qabstracttexture.h: add LCOV exclusion comments qtextureimage.h: add LCOV exclusion comments texture_p.h: add LCOV exclusion comments qtexturegenerator.h: add LCOV exclusion comments qsortpolicy.h: add LCOV exclusion comments qrendertargetselector.h: add LCOV exclusion comments qsortcriterion.h: add LCOV exclusion comments qclearbuffers.h: add LCOV exclusion comments qrendercapture_p.h: add LCOV exclusion comments uniform_p.h: add LCOV exclusion comments triangleboundingvolume_p.h: add LCOV exclusion comments qgeometryfactory.h: add LCOV exclusion comments qbuffer_p.h: add LCOV exclusion comments qbuffer.h: add LCOV exclusion comments qgeometryrenderer.h: add LCOV exclusion comments qbufferdatagenerator.h: add LCOV exclusion comments qattribute.h: add LCOV exclusion comments qsceneiohandler_p.h: add LCOV exclusion comments qsceneloader.h: add LCOV exclusion comments qrendersettings.h: add LCOV exclusion comments qcamera.h: add LCOV exclusion comments qcameralens.h: add LCOV exclusion comments sphere_p.h: add LCOV exclusion comments shaderdata_p.h: add LCOV exclusion comments qshaderdata.h: add LCOV exclusion comments qgraphicsapifilter.h: add LCOV exclusion comments qshaderprogram.h: add LCOV exclusion comments qpointsize.h: add LCOV exclusion comments qblendequation.h: add LCOV exclusion comments qstenciltestarguments.h: add LCOV exclusion comments qalphatest.h: add LCOV exclusion comments qstenciloperationarguments.h: add LCOV exclusion comments qdepthtest.h: add LCOV exclusion comments qblendequationarguments.h: add LCOV exclusion comments qfrontface.h: add LCOV exclusion comments qcullface.h: add LCOV exclusion comments qray3d_p.h: add LCOV exclusion comments qboundingvolume_p.h: add LCOV exclusion comments qabstractcollisionqueryservice_p.h: add LCOV exclusion comments qpickevent.h: add LCOV exclusion comments qabstractlight.h: add LCOV exclusion comments light_p.h: add LCOV exclusion comments qt3dquickwindow.h: add LCOV exclusion comments scene3ditem_p.h: add LCOV exclusion comments qgraphicsapifilter_p.h: add LCOV exclusion comments Change-Id: I3af0e2a4d85685c919dbfaa8b3f384777f026542 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Introduce OneMinusSource1ColorKevin Ottens2016-10-292-2/+4
| | | | | | | | | | | | | | | | | | Also we deprecate OneMinusSource1Color0 which can be removed next time we break SC. This is done to be more consistent with the other enum values. Change-Id: I97a636566d20162c148d0aa55599476d54e51333 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Doc: added \inmodule and \ingroup statements where it was missingNico Vertriest2016-10-195-4/+9
| | | | | | | | | | | | Change-Id: I5156b115d5355d3aa709aade1f747bcc2c3330fc Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* | Doc: added definition planeIndexNico Vertriest2016-10-131-1/+1
|/ | | | | Change-Id: I3db64795c35ff67a0035ab700fb0698d72787e8f Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Remove unimplemented function from QBlendEquationArgumentsMiikka Heikkinen2016-09-021-1/+0
| | | | | | | | QBlendEquationArguments::specifiesAllDrawBuffers() has no implementation, so it shouldn't exist. Change-Id: I76a73d4712572e3b1cf675b195c675a033bdc670 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Improve QBlendEquationArguments and QBlendEquation docs a bitMiikka Heikkinen2016-09-022-16/+65
| | | | | Change-Id: Icb736b4cf4e1fcc44f9ad89ef69b678ce3ef36ab Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QPointSize: update docPaul Lemire2016-08-291-3/+28
| | | | | Change-Id: Ifcd3e3fbe7198bd9191c16b8d570b240560e400d Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QBlendEquationArguments: update doc for enumsPaul Lemire2016-08-191-19/+19
| | | | | Change-Id: I4ef9f6b7dfffb2bba6ace21de368d609628c3004 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* RenderStateSet remove cache delta variablesPaul Lemire2016-08-092-19/+7
| | | | | | | These aren't needed and were part of an older logic. Change-Id: I3550b8c5b781ea6606b233d93a5debeb6739cc20 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* StateVariant::apply: fix for StencilTestPaul Lemire2016-08-091-1/+1
| | | | | | Change-Id: Ia5d492c18d898a7441990b015ee391ffca0b9633 Task-number: QTBUG-55117 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix clang warning about pessimizing moveSean Harmer2016-08-041-1/+1
| | | | | | | | Clang on OS X warns: warning: moving a temporary object prevents copy elision [-Wpessimizing-move] Change-Id: Ide6b4dd658c7643011f511065a25ca2434658d9d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix Clang warning about move of a local objectThiago Macieira2016-07-251-1/+1
| | | | | | | statevariant_p.h:128:16: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] Change-Id: I149e0540c00745fe8119fffd14645211e7c6e122 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* RenderStates: remove RenderStateCollectionPaul Lemire2016-07-173-207/+0
| | | | | | | | Removes the multiple inheritance scheme it included and simplify the way render states get added removed. Change-Id: I20ede340f3bf6fcfb95dc84d7d0588d681331b54 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderStateSet/Node: store a StateVariantPaul Lemire2016-07-177-218/+119
| | | | | | | | | Instead of dealing with pointer. This will make it easier to parallelize submission and simplifies things Change-Id: I4f4f97b070885e3cf635f145bd3d9092b82ca55d Task-number: QTBUG-54423 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>