summaryrefslogtreecommitdiffstats
path: root/src/plugins/sceneparsers/gltf/gltfparser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused file gltfparser.cppMarc Mutz2019-07-181-1560/+0
| | | | | | | Found because it's full of Q_FOREACH when the module compiles fine with QT_NO_FOREACH... Change-Id: I8e34a3f54c1070d4dcc9b5c7b578760860eab72c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix documentation warnings related to Clang QDoc parserTopi Reinio2018-04-201-2/+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>
* Replace Q_NULLPTR with nullptrKevin Funk2017-09-251-45/+45
| | | | | Change-Id: I480f8b917e41d514f9efff01b2f2664b61ea3440 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GLTFIO: check return value of QFile::open()Marc Mutz2016-10-051-6/+4
| | | | | | | | | | | We checked that the file exists prior to opening it, but it could still be unreadable (due to permissions, e.g.), so check with QFile::open() and emit QFile::errorString() in case it goes wrong. Coverity-Id: 161328 Change-Id: I3489488023bb697d6cb9eee6be07c0edd923c478 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Support KHR_materials_common in the glTF parserLaszlo Agocs2016-01-071-13/+120
| | | | | | | | Map to the built-in materials as much as possible. Task-number: QTBUG-49384 Change-Id: I6c73c0cfcc327323c51ae2f3735cc7f3c53fbfee Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Use .qgltf extension for qgltf-generated glTF filesLaszlo Agocs2016-01-071-1/+1
| | | | | | | | | | Let's avoid future confusion by using a custom extension for the main JSON document. In case assimp gets upgraded to a future version supporting glTF files for example, confusion can arise due to the conflicting file extensions in the scene parser plugins. Change-Id: I370cc45cc399cae4f425d86574ccea9cd6c59d4f Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Move core/io content to render/geometry and ioKevin Ottens2015-12-021-3/+3
| | | | | Change-Id: I79e0b0d62e07a269ebfce99edff56d30da28494c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove QAbstractTransform and friendsSean Harmer2015-11-171-4/+0
| | | | | | | | New simplified QTransform doesn't need these any longer. We now get a nice reduction in QObject count when dealing with transformations. Change-Id: I8ba8febada4ad1f05728aa848fb5e70a62028040 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove transforms property of QTransformSean Harmer2015-11-171-25/+12
| | | | | | | | Compound transformations are now built up using QMatrix4x4 in both QML and C++. Updating examples accordingly. Change-Id: I03c9abf1f6cdd1b56226dc0e16a7ad5ce84516dd Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* gltfparser: Update to support glTF 1.0draft specAndy Nichols2015-11-131-87/+145
| | | | | Change-Id: I00e830e05c393e2e137db26b5443de5ec26870c5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Create proper plugin infrastructure for sceneloadersAndy Nichols2015-11-041-2/+2
| | | | | | | | Now Qt3D sceneloaders plugins follow the same pattern as the rest of Qt. This also makes the loading much more standard and less error prone. Change-Id: Ibb5aae0a16d9d197a9c34fe2885dd5435e68d7eb Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QOpenGLFilter to QGraphicsApiFilterAndy Nichols2015-11-031-13/+13
| | | | | | | | | | | | | | | | | | | | | | 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>
* Rename Renderer -> Render throughoutSean Harmer2015-10-191-21/+21
| | | | | | | | This is for consistency between the C++ namespaces and QML imports and with the other aspects. Change-Id: I73392f138b4e519b12888f52530123e3d0ba445e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Qt3DCore into Qt3DCore namespaceSean Harmer2015-10-131-7/+7
| | | | | | | Update other aspects, tests and examples accordingly. Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Render aspect into the Qt3DRender namespaceSean Harmer2015-10-131-10/+12
| | | | | | | Updated examples and tests accordingly. Change-Id: I8848a88472de2302aa072fa11f21ea934672b7e6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Support uint in glTF parserv5.6.0-alpha1Laszlo Agocs2015-09-011-0/+2
| | | | | | | | Index data will be int when short is not sufficient. Change-Id: Ic166cf2d073c99cf6c9e269e0cc1e0dac5e835fc Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* glTF: Support generating and using Core profile and GL2 shadersAndy Nichols2015-08-081-12/+72
| | | | | | | | | | | | | | | | | | | | This change effects both the qgltf tool and the gltfparser. For the qgltf tool I change the way core profile shaders are defined. Rather than adding an additional property to the shader object, I create the necessary shaders, programs, and techniques, as well as add an additional two properties to the Material so that that multiple techniques can be used. By default the shaders support OpenGL ES2 and is compatible with the glTF 0.8 standard. For the gltfparser, I now create additional QTechniques from the two new properties attached to the material object when they exist. This allows for the use of OpenGLFilters to choose which technique to use under certain situations. So now it is possible to render modules processed with qgltf in the OpenGL Core profile senario. Change-Id: Iae10f93a03c29a7bb6fe0a3dfd0d568ba0043f12 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* glTF Parser: Support loading binary json scene dataAndy Nichols2015-08-081-1/+6
| | | | | | | | We support generating gltf files using binary json rather than plain text with our qgltf tool. This reduces metadata file sizes and load times. Change-Id: I99a4c270aa4b0b828cddfbdcce02dce206606708 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add support for loading scenes from glTF 0.8 filesAndy Nichols2015-08-081-0/+1345
This patch includes a new scene parser plugin which enables the loading of glTF files (using the 0.8 spec) into Qt3D scenes. The gltf example has been updated to work with the current APIs and the asset files it used have been updated to match the glTF 0.8 spec requrements. Previously an unused copy of the GLTF scene parser was located in render/io. It was being built, but not used as only plugin based sceneloaders were loaded by the renderer. Now it should be usable and always available. Change-Id: Ic2e31e2b63a871559aad9bad90ec2820988a1571 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>