summaryrefslogtreecommitdiffstats
path: root/src/render/io
Commit message (Collapse)AuthorAgeFilesLines
* Switch export macros to standard formKai Koehne2019-04-0212-12/+12
| | | | | | | | | | | | 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>
* Load static plugins when QT_NO_LIBRARY is setAnton Kreuzkamp2019-02-221-7/+5
| | | | | | | | | | | | | | | | | When QT_NO_LIBRARY was set, QRenderPluginFactory::create and QSceneImportFactory::create would simply do nothing, causing no plugins to ever be loaded. On static builds with QT_NO_LIBRARY plugins can still be used by using static plugins. The plugin factories omit them, even though QFactoryLoader, which they both rely on, supports loading static plugins when QT_NO_LIBRARY is set. Commit d964eab8 did a similar thing for QSceneImportFactory and QInputDeviceIntegration. Task-number: QTBUG-72378 Change-Id: I97912a34940e821bda6c0ae830baff4d773451f3 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix external link error for SceneLoaderMichael Brasser2019-01-291-1/+1
| | | | | | | This was already fixed for the C++ docs; apply to the QML docs as well. Change-Id: Ibc5fd04ef4fa910af2d4ea05732c7d4c585cc074 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix external link errorNico Vertriest2018-10-221-1/+1
| | | | | | | Task-number: QTBUG-70910 Change-Id: Id4976cd860f824b1a73ddc8561f1709c76dc4466 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* 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>
* Move Renderer specific classes into new folderPaul Lemire2018-03-193-281/+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>
* Merge branch '5.10' into devSean Harmer2018-01-263-3/+12
|\ | | | | | | Change-Id: I4728b29c349a16867951a781c9417054c798e04a
| * SceneLoader: fix broken scene tree unloadingPaul Lemire2018-01-232-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To unload the scene, we need to process the empty path in the backend to reset the status and send a change to the frontend QSceneLoader that will take care of deleting the previously created scene tree. With the introduction of remote urls support, the case of the empty path was not properly handled. It would end up being recognized as a remote path, a download request would be made. Eventually it would silently fail. A warning was added when a download request fails. Change-Id: I60222453ccde63d69f6a107d33d7c842313d98ed Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * SceneManager: rename pendingSceneLoaderJobs()Paul Lemire2018-01-232-2/+2
| | | | | | | | | | | | | | | | Renamed to takePendingSceneLoaderJobs() as the name better indicates we are resetting the vector of jobs internally. Change-Id: I68a16139994552b7b26f1cf88a206a61a30950e0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.10' into devSean Harmer2018-01-173-6/+5
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I248aa369ba98659a61e563fd29cc811c76ea1e2d
| * Merge branch '5.9' into 5.10Sean Harmer2018-01-123-6/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-132-2/+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-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Improve plugin loading with -no-feature-libraryUlf Hermann2017-10-201-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop an unused include and make more of an effort to load (possibly static) QInputDeviceIntegration and QSceneImportFactory plugins. pluginPath was unused in qsceneimportfactory.cpp in this case, and generated compile warnings. Change-Id: I033c5bace84018a9e6c640b4318f2d34b91f7c19 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Replace Q_DECL_FINAL with finalKevin Funk2017-09-251-1/+1
| | | | | | | | | | | | | | | Change-Id: Ia80d1cb9cc96d76f8b367caa725c59a70ae0a4d5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-253-7/+7
|/ / | | | | | | | | Change-Id: I92c955068e233c50043ad7d06a32300dd386c24d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge branch '5.9' into 5.10Sean Harmer2017-09-122-7/+4
|\| | | | | | | Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
| * Get rid of the AllocationPolicy template argument in the ResourceManagerLars Knoll2017-09-112-2/+0
| | | | | | | | | | | | | | We always use the same policy anyway. Change-Id: I3349b8c19ce0e6239b140dfac7ba66f8dda1b9be Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add uniform buffer support for GLES 3.0+Laszlo Agocs2017-07-061-1/+1
| | | | | | | | | | | | | | | | | | Also, GLES 3 only has glMapBufferRange so pass in a size to mapBuffer() from now on. Task-number: QTBUG-61729 Change-Id: I0a049811a6daff5dd6a83d535509f4266eb01c53 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support for remote content in SceneLoaderMike Krus2017-05-213-9/+95
| | | | | | | | | | | | Task-number: QTBUG-57614 Change-Id: I687a9620865f5849aaba2aadb5a9c3746afb0b53 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Add support to load data from memory for scene loadersMike Krus2017-05-211-1/+2
|/ | | | | Change-Id: I666897ae54441a226fa6f8a7f8cdfc1a576f3494 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: corrected link error and completed parameter definitionsNico Vertriest2017-03-211-1/+1
| | | | | | | | | | | | | qsceneloader.cpp:342: warning: No such parameter 'objectName' in Qt3DRender::QSceneLoader::component() qlevelofdetail.cpp: Can't link to 'LevelOfDetailBoundingSphere' Undocumented parameter 'camera' in Qt3DRender::QLevelOfDetail::setCamera() Undocumented parameter 'currentIndex' in Qt3DRender::QLevelOfDetail::setCurrentIndex() Undocumented parameter 'thresholdType' in Qt3DRender::QLevelOfDetail::setThresholdType() Undocumented parameter 'thresholds' in Qt3DRender::QLevelOfDetail::setThresholds() Change-Id: I7d06b89ce168f1fa7995852f15e95ecc38402b7c Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix container detachments when using range loopSergio Martins2017-02-241-2/+4
| | | | | | | Fixes -Wclazy-range-loop warnings. Change-Id: I6348b259a444203afe3490ea41c149c9b6740164 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Start using REVISION on our propertiesKevin Ottens2017-02-231-4/+4
| | | | | | | | | Adding REVISION 9 on all the new properties from this release. Also registering the extra revisions on the QML side. Change-Id: Ic7eda36bee8ca19508cd73b61cea534f956c6997 Task-Id: QTBUG-58895 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.8' into 5.9Sean Harmer2017-02-102-7/+15
|\ | | | | | | | | | | | | | | Conflicts: src/render/io/qsceneloader.cpp src/render/picking/objectpicker.cpp Change-Id: Ic36138954381820196eb81c5c59e6a91e7f40f33
| * Fix deprecation warningSean Harmer2017-02-082-7/+15
| | | | | | | | | | Change-Id: I64bd08889fcd95dd41724652b84b34e8b9497ad3 Reviewed-by: Antti Määttä <antti.maatta@qt.io>
| * ObjLoader: actually check for the indices' valuesGiuseppe D'Angelo2017-01-131-7/+7
| | | | | | | | | | | | | | | | | | | | The decision whether we can use ushort instead of uint for the entries in the index buffer depends on the value of each entry, not on how many entries (indices) we have. Clean up the related code. Task-number: QTBUG-44089 Change-Id: Id8e1cb422c1bd3a84f8964864a41cc4784edce61 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Deliver all events by default unless marked as intermediateSean Harmer2017-02-091-3/+0
| | | | | | | | | | | | | | | | | | | | This change inverts m_final flag on property change events so that now, all events are delivered by default. The animation aspect now marks intermediate calculated changes and these are not delivered unless the user subscribes to them. Change-Id: Ide6c30b29a91ed874d47c52d0ee1352f6680c3d8 Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* | Add missing Q_INTERFACES(QFactoryInterface)Sean Harmer2017-02-061-0/+1
| | | | | | | | | | | | | | | | Fixes warning about qobject_cast that would fail. Change-Id: Ie628ebe5a40b998946472e540c684354ea1e5016 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Transfers gpu buffer data to cpuJuan José Casafranca2017-01-312-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added some code to retrieve the data in the gpu back to a cpu pointer in the opengl helpers. Added a framegraph node which specifies if any data must be downloaded from the gpu Added a flag in the buffer object to specify if the data from that buffer must be downloaded. Added a job to send the data back to the frontend. Added a path in the renderer to download the gpu data. Task number: QTBUG-57727 Change-Id: I315a9221e5116c7d07f818e00c654fe1901144f4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Allow to filter change events based on a track propertyPaul Lemire2017-01-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | * QNode now has a PropertyTrackMode property * QScene contains a table of PropertyTrakcMode data * QPostman checks if a QNode is supposed to receive a change based on the information available in the QScene property track mode table * Unit tests updated and added for QPostman Change-Id: I3b88037a949020a917c81817f1451ef532065982 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Ported PLY and STL geometry loadersGuillermo A. Amaral2017-01-201-1/+1
| | | | | | | | | | | | | | Original implementation by Mauro Persano. Change-Id: I3560fd15239f369de86e514985d0a39b0c6df671 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | QMesh geometry loading via plugin systemGuillermo A. Amaral2017-01-207-738/+226
| | | | | | | | | | | | | | Ported ObjLoader to a plugin based system. Change-Id: I4bf50fe869f04173c022b6a22c45944ecdad4703 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | GLBuffer: make the default buffer id be 0Paul Lemire2017-01-131-1/+1
| | | | | | | | | | | | | | | | This is safer than it being the max uint value since 0 will be recognized as a valid GL value. Change-Id: Ic78f38e6b830dad1e041cb0097767ac5842bd9a5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | GLBuffer: add enum value for DrawIndirectBufferPaul Lemire2017-01-132-2/+7
| | | | | | | | | | Change-Id: I262a9a58358027cd6179ffbfe54cb6a115608e7e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-123-9/+10
|\| | | | | | | | | | | | | Conflicts: tests/auto/render/render.pro Change-Id: I3d0463dabae4fc78f334afc8f90d2d321ab71e03
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-281-7/+8
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Move struct Entry outside class ByteArraySplitterMika Salmela2016-11-011-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Type info declaration must be before the struct Entry is used. Therefore this patch moves the definition before the ByteArraySplitter. Task-number: QTBUG-56789 Change-Id: I29e3ec35778778536c5e1de08b6b7133bb78c0f8 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * | LCOV exclusion comments squashedPaul Lemire2016-11-232-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | GLTF Scene export pluginMiikka Heikkinen2016-11-167-2/+504
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a plugin that can export Qt3D entity tree as a GLTF scene. The GLTF format is extended a little to support those cases not covered by standard format. The existing GLTF import plugin was modified to support cases it didn't already support. Any meshes, transformations, default materials from Qt3DExtras, cameras, and lights can be exported and imported. Other components are ignored. Adding support for custom materials is left for the future. The camera fov unit (degrees vs radians) was also fixed to qgltf tool to make it consistent with both assimp and GLTF specs, as well as the fixed implementation in the importer plugin. Change-Id: Iaa0aa6656429abb173f291fb1a768bf98819ac84 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* | Add functions to find entities and components of loaded scenesMiikka Heikkinen2016-11-163-1/+141
| | | | | | | | | | | | | | | | | | | | | | | | The scenes loaded with QSceneLoader are no longer a black box that can only be interacted as a whole. Now QSceneLoader can be queried for entities based on entity names and the components of the entities can be queried for based on component type. Change-Id: I446b818355503dcd0695a7c0325eb44b7efc8fe1 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* | Fix loading of .obj files exported from 3ds MaxJanne Koskinen2016-11-121-0/+2
| | | | | | | | | | | | | | | | trim trailing whitespaces on line entries Change-Id: I0d3546b0c3e3a240cc198b93f5fd72b390e30239 Task-number: QTBUG-54450 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Renaming Scene IO classes to scene import classesOtto Ryynänen2016-10-108-49/+49
|/ | | | | | | | | | | | | | | The so-called "IO" classes have never done I/O, only import. There is no sense to add also export to those classes as the IF is designed to do only import and there is no code that would be shared between the importer and exporter/saver. For the sanity of the code the naming is changed and we will implement exporter/saver class to be used for storing purposes. Change-Id: I832bef0e7de1f65289a89c6898a475dab7431dc0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Update QSceneLoader docsAntti Määttä2016-09-051-54/+76
| | | | | | Change-Id: Idb4210e9d455c9b8c87a6540d486992531778c0e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* SceneManager: small improvementsPaul Lemire2016-08-241-4/+3
| | | | | Change-Id: I8e06a7f061d64a5d65e88663ea0974152775fd2f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QSceneLoader: status is updated from the backendPaul Lemire2016-08-232-5/+7
| | | | | | Change-Id: I52159b0fa78ab915e73c2dc84bda9bccc3dbd0ef Task-number: QTBUG-54889 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Scene: add a setStatus methodPaul Lemire2016-08-232-0/+12
| | | | | | | | Will allow to set the status in the backend and update the frontend with it. Change-Id: Iac47e9960b8ef56c4e45ea31c616c4bc2a8f3444 Task-number: QTBUG-54889 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* SceneManager: export for unit testsPaul Lemire2016-08-221-5/+6
| | | | | Change-Id: I2e0ff8b13810af09cfc08d04620d8adf6b324689 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QSceneLoader: mark setStatus as deprecatedPaul Lemire2016-08-191-1/+1
| | | | | | | The setter shouldn't be publicly available Change-Id: I1e08734722fe6a30b89af7cfbe0ad175620cb904 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Scene: add cleanup method and export for testsPaul Lemire2016-08-193-1/+10
| | | | | Change-Id: Ib4dd476078e993b0b61366772c1a9ae9319f919a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>