summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Document third party asset 'miramar'Kai Koehne2018-09-241-0/+14
| | | | | | | | | | | | | The files got added in commit f49cabe35cbd. However, the original sources from the linked url are in .tga format, so I assume they got converted before importing. We should probably add a 'Modifications' entry to highlight such conversions in the future. https://opengameart.org/content/miramar-skybox categorises the license as CC-BY 3.0, but the upload was done not by the author. Change-Id: I312a871716104507434eb6d12a547c3752da51af Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Complete ES 3.1 and 3.2 helpersPaul Lemire2018-09-218-4/+228
| | | | | | | | | | | Which didn't handle indirect drawing, compute and tessellation Since ES 3.1/3.2 don't provide API for glShaderStorageBlockBinding, code was adjusted to use the default binding points and not require that API. Change-Id: Ie4dcd05f0a1d72e4a25f49b5fae138dc605ba5e3 Task-number: QTBUG-70660 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Replace use of qmlRegisterRevisionKai Koehne2018-09-203-15/+14
| | | | | | | | | | | qmlRegisterRevision was incorrectly used to actually expose the revision to QML; anyhow, it is only meant to registering revisions of a base class that the type depends upon. Also remove one duplicated registration. Change-Id: I0c743fc951954870f13a7e0e099fc16a4b7efa4f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/5.11.2' into 5.11Qt Forward Merge Bot2018-09-091-0/+24
|\ | | | | | | Change-Id: Iedf7378db2e180e91d79e07696064ef868b0167b
| * Add changes file for Qt 5.11.2v5.11.2Antti Kokko2018-09-061-0/+24
| | | | | | | | | | | | Change-Id: Ic54262355ba79b138b09b467e9987df6fea66434 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
* | Qt3DWindow/Qt3DQuickWindow base custom surface format on default onePaul Lemire2018-08-292-2/+2
|/ | | | | Change-Id: I52620326d7ee79be86419e55b186470689b02950 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix: remove compile warning in graphicscontext.cppPaul Lemire2018-08-211-1/+1
| | | | | Change-Id: I3f1b5cca75973abf8970b3f1929a3a0ea385d8f1 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Fix Scene2D and Scene3D QML modules uriTakumi ASAKI2018-08-173-7/+7
| | | | | | | | | | This is additional fix for QTBUG-67370. And fix for Scene3D. Task-number: QTBUG-67370 Change-Id: Id362e60ac4072b7935ee86ff2a44e23018adc381 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix incorrect ForwardRenderer properties typeTakumi ASAKI2018-08-171-2/+2
| | | | | Change-Id: I1b02b6920b9525f4ced75271d36f07890a77f7fc Reviewed-by: Martin Smith <martin.smith@qt.io>
* Remove AUTOTEST_EXPORT from templated functionLaszlo Agocs2018-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | ...to avoid warnings (that can be treated as errors) with Mingw. What we have seen in the CI is that including renderer_p.h from an external module can lead to error: inline function 'T Qt3DRender::Render::variant_value(const QVariant&)' declared as dllimport: attribute ignored [-Werror=attributes] Q_AUTOTEST_EXPORT inline T variant_value(const QVariant &v) which is treated as an error if the external user happens to be a Qt module with warning_clean enabled. Not sure why this surfaced now, but removing the export should be the correct thing to do regardless. Change-Id: Ie8de120fa0e5c96fbcffc1632db57edeac87a95b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Avoid initializing GraphicsContext on every frameLaszlo Agocs2018-08-142-4/+1
| | | | | | | | | m_initialized is inherited from GraphicsContext, having another m_initialized in SubmissionContext is wrong. Change-Id: I431ba67c671b8854fafce769c8bfd90ba71e7441 Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Document third party asset 'wine'Kai Koehne2018-08-142-0/+48
| | | | | | | | | | The code was originally imported in commit 2a9a67d1b179, and then updated in to upstream version 0.8 in commit 473bd13ed37. LICENSE.md is from upstream repository. Change-Id: I20f97d46125abc4f1c7d54c52b891acc50336ac5 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Texture property update: notify frontend only when properties have changedPaul Lemire2018-08-143-1/+4
| | | | | Change-Id: Ic69b25c92ff45f349715a47b19c3f3c1c40eabea Reviewed-by: Mike Krus <mike.krus@kdab.com>
* GLTexture: simplify createOrUpdateGLFunctionPaul Lemire2018-08-142-59/+71
| | | | | | | | By dividing code into function which make following the bigger picture easier Change-Id: I7c43178d5484b7d387f6ce7b9c36025d8e13c642 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Texture: remove invalid property namePaul Lemire2018-08-131-3/+0
| | | | | | | | maximumLayers was renamed to layers in the 5.7 release see commit 26d4260897c1e53e2a3a0f73c839549b9be8900e Change-Id: Ibe6e55bb5f6ad47181a4584a4eb32cdec3934034 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Improve backend texture unit testsPaul Lemire2018-08-131-0/+186
| | | | | Change-Id: Ie7baba99e03defcd3d8194fd11838a86d1680060 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Allow to build assimp sceneparser on Android when using clangPaul Lemire2018-08-132-2/+4
| | | | | | | | | | | Which should be all Android builds since gcc has been deprecated in favor of clang in the NDK. Also disable building of tools when cross compiling Change-Id: Idb3f88130bf211926f7dd4ce52ac6582d806570d Task-number: QTBUG-65542 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix typo on loadscenejob.cppPaul Lemire2018-08-131-1/+1
| | | | | Change-Id: I2fdb971bdf24669622752e62b656fcc403c17ee0 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* ResourceAccessor: allow read-only access to texturesLaszlo Agocs2018-08-103-5/+14
| | | | | Change-Id: I0a8d20081912f3ff9a037cab74702581b3b02613 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Properly update properties from Backend to Frontend texturesPaul Lemire2018-08-0816-72/+423
| | | | | | | | | | | | | | | | | | | Taking into account we have texture sharing in the backend, we can only update frontend texture properties once we have created the shared backend texture. Code was adjusted to retrieve these properties when creating the GLTexture. Such changes are stored and sent on the next run loop from a job where they are distributed to all referenced frontend Texture. The status property handling has also been updated to send status changes to all shared textures instead of just the texture whose data generator is used to gather the data. A manual test checking texture property updates, sharing and remote url sharing has also been added. Change-Id: I8ed2449fe57c9d7337580b0f7561f974cbd5006d Task-number: QTBUG-65775 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Apply similar logic to the native Qt 3D animation clip selectionSean Harmer2018-08-023-6/+42
| | | | | | | | | If the file contains a single animation use that clip. Otherwise we then consider animationName and animationIndex with the index having priority. Change-Id: Id974b1d446d6067bbe4c5ecce9f20891cb1086b0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add support for loading specific animations from glTF 2 filesSean Harmer2018-08-0213-12/+639
| | | | | | | | | | | | | | Can now specify source urls to QAnimationClipLoader with query parameters for animationIndex or animationName. Add a new manual test to demonstrate/test this by loading the 2nd animation from the Rigged-Simple.gltf file. Will followup with the same support for Qt 3D native json animation files. Change-Id: Icb66073f29b8471fe06e2e2e9c43720567dc9ee5 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Fix incorrect GoochMaterial properties nameTakumi ASAKI2018-08-011-4/+4
| | | | | Change-Id: Ic2062cec8faaeed072c76f7f985b92a1e732454b Reviewed-by: Martin Smith <martin.smith@qt.io>
* Enable ConstantInterpolation for fcurvesJuan Jose Casafranca2018-07-312-2/+23
| | | | | Change-Id: If51c8377f5b29433feaa520a7586f0608b7510f1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add changes file for Qt 5.9.6Antti Kokko2018-07-311-0/+25
| | | | | | | Change-Id: I8409969e743e993d19af0f94597a4e0d5d017721 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit ea18da8361e8406cf1cb567a407429afcd65552a) Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Add changes file for Qt 5.9.5Antti Kokko2018-07-311-0/+24
| | | | | | | Change-Id: I8bbd918922e4d9aab0c9fa4b2751de21313fc09b Reviewed-by: Sean Harmer <sean.harmer@kdab.com> (cherry picked from commit 096500140bedb56bdac3b4c4daa4d0c210c691fb) Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Bump versionOswald Buddenhagen2018-07-301-1/+1
| | | | Change-Id: I63d64f2dc716890274394fa3f5dce34f04fabb9a
* Request manager to cleanup ShaderBuilder entries that are removedPaul Lemire2018-07-301-0/+1
| | | | | | Change-Id: Icc5b19a1971510bb2df3263862311a2f980b5eac Task-number: QTBUG-69695 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Use correct module namePaul Wicking2018-07-302-3/+4
| | | | | | | | | QML: Importing Qt3D.Scene2D doesn't work, QtQuick.Scene2D does. CPP: Specify header file, as convenience header doesn't exist. Task-number: QTBUG-67370 Change-Id: Ia53e92c076f52bbb81b91370425279c44bf9e3c5 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QTextureImage: warn user that remote urls on QTextureImage aren't yet supportedPaul Lemire2018-07-201-1/+11
| | | | | Change-Id: I19debff59679901ddf1763062ef917023d413fd5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Texture: properly handle texture sharing with remote URLsPaul Lemire2018-07-206-37/+106
| | | | | | Change-Id: I6f5ed6b04023578d389c41c4616b8ddb364bdc37 Task-number: QTBUG-69543 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QDownloadHelperService: add couple comments to give more contextPaul Lemire2018-07-201-0/+2
| | | | | Change-Id: I40fd1862d551fd81167ed7dcd316c0bcf27bfff8 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix crash when using Scene3D and updating data frequentlyPaul Lemire2018-07-201-1/+25
| | | | | | | | | | With Scene3D we can't assume that when we are rendering, resources haven't been deleted in the meantime. Add checks to verify a resource is not null before using it. Change-Id: I918ae77c2d3efc6efc53c6c5b5b9c03729978cba Task-number: QTBUG-69534 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix: Do not enforce TextureImage to be parented only by TexturePaul Lemire2018-07-1816-112/+508
| | | | | | | | | | | | | | | | | | | | This behavior prevented using TextureImage not directly parented by the Texture that uses them (assert would be triggered). In turn, this also prevents sharing a TextureImage among several Texture instances which is counter productive since this is where the data is actually stored. This patch fixes this issue. It removes all direct coupling between Texture and TextureImages. Now Texture only contains the list of TextureImage ids it references. This allows to not make look-ups into the TextureImageManager to retrieve handles, which could be an issue if TextureImages have not yet had their backend created. TextureImage doesn't keep track of the referencing texture that uses it anymore. Instead, we let the renderer do the job of checking if any of the TextureImage referenced by a Texture has changed to trigger actual Texture update. Change-Id: I3c63379d0f4b314e9b53f225870eeaded0bb4aec Task-number: QTBUG-69407 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QSkyboxEntity fixes:Paul Lemire2018-07-183-5/+5
| | | | | | | | | | Was setting the major version instead of minor version thus potentially never allowing technique/pass filtering to ever succeed. Update shaders/technique to target 3.3 as 3.0/3.1 might not work on mac. Change-Id: I48c0ee54aac4a017cf8ac5ff3219b788a15bbcdd Task-number: QTBUG-69522 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* CalcBoundingVolumeJob: handle UnsignedByte index typePaul Lemire2018-07-182-41/+58
| | | | | | | | Since this is valid OpenGL Change-Id: I2baa7f07a509272ef8d0f8c2e1611e942685d1ab Task-number: QTBUG-69487 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Renderer: do not lookup cleanup texturesPaul Lemire2018-07-183-10/+10
| | | | | | | | | | | Since they are already destroyed, cleanup textured ids shouldn't be used to look up backend textures but only to tell the GLTextureManager to abandon referenced textures. The was an oversight that should have been handled in d47c78e6. Change-Id: Iafaee4bb6442c907f6e011c80b5e5347579efde5 Task-number: QTBUG-69379 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNode: _q_postConstructorInit set scene on whole subtreePaul Lemire2018-07-182-3/+57
| | | | | | | | | | | | | | | _q_postConstrutorInit is called in a deferred invocation when constructing a Node with a parent. If several nodes are created that way, the _q_postConstructorInit call from the node which parents the other will actually build the node creation changes for the whole subtree and incidently prevent the _q_postConstructorInit invocation for the children to do anything (including setting the scene). Therefore _q_postConstructorInit should set the scene on all the Node it will be creating creation changes for. Change-Id: I07d4e80675758b9701cc941881f1faaa1c89af4b Task-number: QTBUG-69352 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Check animator can be played in frontend and backendJuan Jose Casafranca2018-07-116-1/+49
| | | | | | | | | | | We check that the animator can be played in the frontend. Each animator subclass must implement their own canPlay method. In the backend we correctly check the clipAnimator can be played Task-number: QTBUG-69369 Change-Id: If8bca9b73321e2bfdb4d68ddc286df0109ee91f1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Remove private classes from public documentationPaul Wicking2018-07-114-1/+5
| | | | | | | | | | | | | | Mark as private: * Qt3DRender::AssimpImporter * Qt3DRender::GLTFImporter * Qt3DRender::GLTFExporter Exclude qt3d/src/plugins/sceneparsers from QDoc. Task-number: QTBUG-67935 Change-Id: Ibaa04de183bce4bd88704d53c92718a331f9866b Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Do not delay cleanup of backend Texture instancesPaul Lemire2018-07-117-12/+104
| | | | | | | | | | | | | | | | | | | If we delay the cleanup of backend Texture instances, in the case of a texture being reparented from an existing node with backend to a node with no backend, the resulting node destroyed, node created changes delivered in the same loop would result in the Texture still being marked for destruction and eventually being destroyed even though it was recreated. This patch now still marks textures that were destroyed (by storing their ids), so that the GL Texture managers can update the resources accordingly. However, we now cleanup Textures immediately. We also remove textures ids marked for destruction in the GL texture managers if we detect a Texture with the same id is readded. Change-Id: I29092d7dff9f70bb9fb4b15f4e9419ee1791b6e2 Task-number: QTBUG-69379 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* More fuzzy evaluation when calculating rootsChristian Strømme2018-07-102-1/+14
| | | | | | | | If the discriminant is close to zero, evaluate it as being zero. Change-Id: Ief2624dd512d703e44d8a0c63431baef3cee7c45 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Entity: don't release child data in cleanupPaul Lemire2018-07-061-4/+0
| | | | | | | | | This predates the switch to QNodeDestroyed/QNodeCreated changes. We should now let the QNodeDestroyed changes for the subtree take care of this for us. Change-Id: I34d654eea461b4ac60c09274a19410ce23955988 Task-Id: QTBUG-69284 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Avoid busy loop in QAspectManager while simulation loop is not startedMauro Persano2018-07-041-35/+36
| | | | | | | | | | | | | After QAspectThread starts, it gets in a busy loop until QAspectManager::enterSimulationLoop is called. Make the aspect thread's main loop block on QEventLoop::processEvents until it's told to start the simulation loop. Task-number: QTBUG-67823 Change-Id: I3daac20b65227787c42907d53c11609e1a87ea85 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Handle reparenting to nodes which have no backendPaul Lemire2018-07-042-36/+190
| | | | | | | Change-Id: Ibbaae84a616afbe8be35904e9185be668e32f1c7 Task-number: QTBUG-69284 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Fix QRenderAspect \inmodule commandTopi Reinio2018-06-271-2/+2
| | | | | | | | Remove the full stop from the \inmodule command, and add it to the \brief command. Change-Id: I9b149d048f5ec23170347ba942258a8108bebb66 Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix QTextureImageData data access with individual TextureImagesLaszlo Agocs2018-06-271-3/+5
| | | | | | Task-number: QTBUG-69138 Change-Id: I0d980db0873af4f64dddc356d6d3ec4bc4c81857 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Don't abort rendering when env light textures are not setPaul Lemire2018-06-271-2/+10
| | | | | | | | | | | | | | | | | | The MetalRoughMaterial provides parameters for the env light textures even though they are optional but are needed to avoid issues with unbound textures on some drivers. In practice, when an env light is present, the values would be overridden. However if no env light is present, when setting the texture values on the shader, they would actually reference invalid textures and Qt3D would not render. We want to keep the behavior for the general case but make an exception for MetalRoughMaterial, therefore we are checking if the missing textures are the ones for env light or not before aborting. Ideally, we should shortly be able to remove the QParameters altogether with the Shader Builder. Change-Id: Id54436ff9e328c390eacceb3e63809c757b28b2a Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Fix deadlock in scene2dMäättä Antti2018-06-262-1/+25
| | | | | | | | | Use the SurfaceLocker only when using ANGLE. Don't lock the texture when using ANGLE. Task-number: QTBUG-69039 Change-Id: Ib95fcf05febe1ec9c3ddc225932b5e8d15dc6937 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QGraphicsApiFilter: fix Vulkan enum value aliasingPaul Lemire2018-06-252-4/+13
| | | | | | Change-Id: I8c8583e318aef59c4fc280bc85ea6171538f53f3 Task-number: QTBUG-69028 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>