summaryrefslogtreecommitdiffstats
path: root/src/render/materialsystem
Commit message (Collapse)AuthorAgeFilesLines
* Add ShaderImage backend nodePaul Lemire2019-06-053-0/+224
| | | | | | Change-Id: Ife2e96df656ae220ecfe1e707d25e49e03ea8809 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Add QShaderImage frontend classPaul Lemire2019-06-054-0/+1239
| | | | | | | Will allow to use GL Image with shaders for read/write operations Change-Id: Ib08068d982a523bb84d9897c32ece237452f8d2c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Switch export macros to standard formKai Koehne2019-04-0219-21/+21
| | | | | | | | | | | | 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>
* Merge branch '5.12' into 5.13Paul Lemire2019-04-023-51/+21
|\ | | | | | | Change-Id: If17511da64dd666a536408aa3cb3178ef6db0403
| * Unify shader include handlingMichael Brasser2019-04-013-51/+21
| | | | | | | | | | | | | | | | Share the code for this between QShaderBuilder and QShaderProgram. As a side effect QShaderProgram gains support for absolute paths. Change-Id: I71dbe0bff702806f0655992008c54bbaa9c4f2c9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | QML: Properly revision new signals and slots in 5.13Kai Koehne2019-03-071-6/+6
| | | | | | | | | | | | | | | | All new signals, slots, ... available in QML should be revisioned. Change-Id: Ib91c65b2bcd64f93d8f536c6cb534390b8689d05 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into 5.13v5.13.0-alpha1Qt Forward Merge Bot2019-02-021-2/+2
|\| | | | | | | Change-Id: I9b3faae3e87e1c68ae34bac278f08087dc6ac1a9
| * Doc: Add doc to undocumented methods and properties qt3dNico Vertriest2019-01-241-2/+2
| | | | | | | | | | | | Task-number: QTBUG-36985 Change-Id: Iead255c42517b45b1c2b07e2e6e081d15c865bcc Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QShaderProgramBuilder: add properties to access generated shader codePaul Lemire2018-12-144-0/+213
|/ | | | | | Change-Id: Ib4d448198b2f53850ff0c9b1f2ff4d2d905eea26 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use the correct coordinatesystem include for ES3Michael Brasser2018-12-051-0/+9
| | | | | Change-Id: Ibb45e3daf0712d87ebfdab5376d60db93abe006e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-10-051-0/+27
|\ | | | | | | Change-Id: I2a92242b0d6be4f4e7f07f0f020fa6751ada9bc3
| * Add metalRoughFunction to ES3Mauro Persano2018-09-271-0/+9
| | | | | | | | | | | | Change-Id: I5ac330462bf051285dafbfa4554aa97e6657ac65 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * ES3 deprecated gl_FragColor, use output variable insteadMauro Persano2018-09-271-0/+9
| | | | | | | | | | Change-Id: I9a6a7ee88db5471a1c4ed88ed13c99d66b764d93 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * Use GLSL texture() instead of texture2D() on ES3Mauro Persano2018-09-271-0/+9
| | | | | | | | | | Change-Id: Icfec19e5bd76f6a6ca53700a5a3705aa97763859 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add private export to GraphicsApiFilterDatav5.12.0-beta1Svenn-Arne Dragly2018-10-021-1/+1
| | | | | | | | | | | | | | | | | | This makes it possible to use GraphicsApiFilterData outside of Qt3DRender, which is needed by the render aspect in qt3d-runtime. Change-Id: Iaf0b8293375f523b383129cbd49c747c12612ce8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Privately export ShaderBuilderPaul Lemire2018-08-291-1/+1
|/ | | | | | | So that setPrototpesFile can be called Change-Id: I83b10c067ac5a3e94ea0f64725903d254984bc50 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QGraphicsApiFilter: fix Vulkan enum value aliasingPaul Lemire2018-06-251-4/+4
| | | | | | Change-Id: I8c8583e318aef59c4fc280bc85ea6171538f53f3 Task-number: QTBUG-69028 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Add missing dots (qt3d)Paul Wicking2018-06-191-2/+2
| | | | | | 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-0/+2
| | | | | | | | | | | | | | | | | | | | | 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-19/+29
| | | | | | | | Also switch \code to \qml. Change-Id: I3f216a3abd55fdf51295ed14715f6f1ffc5e2ea4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* AbstractRenderer: add entries into API enumPaul Lemire2018-03-191-1/+3
| | | | | Change-Id: I0f204437f457392a8009262d0067dacf03e55a64 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Move Renderer specific classes into new folderPaul Lemire2018-03-191-1/+0
| | | | | | | | 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>
* Prevent readded shaders to be purged from cacheAnders Hafreager2018-02-281-0/+2
| | | | | | | | | | | | | In ShaderCache::removeRef, the shader DNA is added to m_pendingRemoval. Previously, if the shader was readded before ShaderCache::purge was called, ShaderCache::purge would still remove it even if it was in use. This change removes a readded shader DNA from m_pendingRemoval. Task-number: QTBUG-66498 Change-Id: If18b28273cccfd2a8cba2c7bc6379d983ce6ecb9 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Fix documentation warnings for Qt 3D RenderTopi Reinio2018-02-281-10/+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>
* QParameter: add bookkeeping of QNode valuesPaul Lemire2018-02-211-0/+9
| | | | | Change-Id: I0a7334907e4b34df6955fb24832958b674d7b62b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge remote-tracking branch 'origin/5.10' into 5.11Sean Harmer2018-02-155-20/+47
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/animation/doc/src/qt3danimation-module.qdoc src/render/backend/abstractrenderer_p.h src/render/backend/buffervisitor_p.h src/render/backend/renderer.cpp src/render/backend/renderer_p.h src/render/backend/triangleboundingvolume_p.h src/render/backend/trianglesextractor_p.h src/render/frontend/sphere_p.h src/render/jobs/calcboundingvolumejob.cpp src/render/jobs/job_common_p.h src/render/jobs/pickboundingvolumejob.cpp src/render/jobs/pickboundingvolumejob_p.h src/render/jobs/pickboundingvolumeutils.cpp src/render/jobs/renderviewjobutils_p.h tests/auto/render/boundingsphere/tst_boundingsphere.cpp tests/auto/render/commons/testrenderer.h tests/auto/render/raycasting/tst_raycasting.cpp tests/auto/render/render.pro tests/auto/render/renderer/tst_renderer.cpp Change-Id: I76633bc5a5a065e5f9ea62cc16563377e5c693a3
| * Merge remote-tracking branch 'origin/5.9' into 5.10Sean Harmer2018-02-053-10/+37
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/render/backend/trianglesvisitor.cpp src/render/backend/uniform.cpp src/render/jobs/calcboundingvolumejob.cpp src/render/jobs/pickboundingvolumejob.cpp src/render/jobs/pickboundingvolumeutils.cpp Change-Id: Ib8305011c51710a3538c0b29f7022388f5244a38
| | * Fix array of textures in shader parameterMauro Persano2018-02-021-5/+22
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-61759 Change-Id: I2c61f9cf41124816d10da90783c7fb9ff6088fc4 Reviewed-by: Mike Krus <mike.krus@kdab.com>
| | * Compile failing shaders once only and avoid asserting on failureLaszlo Agocs2018-02-012-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way a material with a broken shader will fail once (and won't be retried unless the shader code gets changed), and the application will continue gracefully, without asserting. Task-number: QTBUG-65936 Change-Id: I7003e8c6f7d9094280d7757c1020b485f93e3b37 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | Render: Use SIMD Vectors and Matrices in the backendPaul Lemire2018-02-022-10/+10
| | | | | | | | | | | | | | | Change-Id: I19b3b2f8fcb06eb2bc600ebe370465dd15a8eabc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Merge remote-tracking branch 'origin/5.10.1' into 5.11Liang Qi2018-02-141-8/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/renderer.cpp src/render/backend/renderer_p.h tests/auto/render/renderer/tst_renderer.cpp Done-with: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Change-Id: I2ca9bac4777e51434579edf86030414734f533ac
| * | Fix OnDemand render policySvenn-Arne Dragly2018-02-011-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OnDemand render policy has no effect because the ShadersDirty and ComputeDirty flags are always set. This commit resets ShadersDirty so that ShaderGathererJob is only run when needed. It also introduces the TechniquesDirty flag so we know when to run FilterCompatibleTechniqueJob and makes sure the job is only run if the context has been initialized and the renderer is running. Task-number: QTBUG-65965 Change-Id: Icbcc03ed2dc6b14c6580cc794267b5a88e5f4ca2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge branch '5.10' into devSean Harmer2018-01-179-17/+16
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * | Prevent use of temporary containersMike Krus2018-01-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Iterate on container, not on the list of keys. Found with Clazy clazy-container-anti-pattern Change-Id: Ie74e2355361747238f020771dae817ecc3b671d0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | Merge branch '5.9' into 5.10Sean Harmer2018-01-128-11/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Get rid of the INDEXBITS template argument for QHandleLars Knoll2017-12-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's not required anymore, as the resource manager can grow as needed. Change-Id: If509de7f2ef90e1af9729d8fc60d7ecb08ede687 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * Fix includes of Qt classesFriedemann Kleint2017-11-237-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.10' into devLaszlo Agocs2017-12-132-0/+250
|\| | | | | | | | | | | Change-Id: Ib51c8311ce78b2fec62dd0c09cb943a85a7d0b2b
| * | Merge remote-tracking branch 'origin/5.10.0' into 5.10Liang Qi2017-12-081-0/+8
| |\ \ | | | | | | | | | | | | Change-Id: I58cb37d5de618ad5e9b9a6f0598a0d790d3694f9
| | * \ Merge 5.10 into 5.10.0Oswald Buddenhagen2017-11-202-2/+5
| | |\ \ | | | | | | | | | | | | | | | Change-Id: I1d59f6d4f69c5ab33efe1a00a983a2af880ef79a
| | * | | Fix resource init namespace issuesLaszlo Agocs2017-11-141-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the pattern from other modules and put Q_INIT_RESOURCES in a static function outside all namespaces. INTEGRITY reportedly has linking issues without this. Task-number: QTBUG-64468 Change-Id: Iccdd03f5384765251a94502766a445a6c6d732b0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
| | * | | Fix material system qrc in static buildsLaszlo Agocs2017-11-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Qt3DRender part is clear and we have a good global place to do the Q_INIT_RESOURCE call. Extras is debatable since there is no good place. Quick is already handled via the import plugins, but pure C++ applications also need this in static builds. For now add it to QForwardRenderer and Qt3DWindow. This should cover the common use cases for the materials in extras. Task-number: QTBUG-64279 Change-Id: I276e8d4265f4527736d415b07dbf03e9d8904adf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | | | Fix doc in QShaderProgramPaul Lemire2017-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic0cfbc04f70b139a21edfdb998663fdbe0805883 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | | | QShaderProgram: document the default uniformsPaul Lemire2017-11-221-0/+242
| | |/ / | |/| | | | | | | | | | | | | | | | | | Change-Id: I3a3621602372cae758c879c69d161af567536f9b Task-number: QTBUG-64418 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | | Merge remote-tracking branch 'origin/5.10' into devAndy Nichols2017-11-202-2/+5
|\| | | | | | | | | | | | | | | Change-Id: Ia6496e1ea22f2393a28e37cdd9f6e34f7613db49
| * | | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Laszlo Agocs2017-11-181-1/+4
| |\ \ \ | | | | | | | | | | | | | | | refs/staging/5.10
| | * \ \ Merge remote-tracking branch 'origin/5.9' into 5.10Andy Nichols2017-11-171-1/+4
| | |\ \ \ | | | |/ / | | |/| / | | | |/ Change-Id: I22fe31282c8673a3f5b097d35af568663f9c8c02
| | | * Material dirty only on param name/enabled changeSvenn-Arne Dragly2017-11-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I11e5ce86b318386b8458743b63f57824d3732271 Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| * | | Use texture() GLSL function rather than texture2D() in core profileSean Harmer2017-11-171-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The texture2D() function doesn't exist in the core profile although some drivers allow it. Follow the standard to be safe. Task-number: QTBUG-64428 Change-Id: I69b3f300928c93663add35bebcfce99e0ee4c340 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-051-1/+44
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/animation/backend/channelmapper_p.h Change-Id: I4e0f59c6648925ba45d30ccc2405524a9e901a0e