| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I8105424281eed871037fa6c463871ca8829876b5
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Lets user provide a separate mesh for picking.
Change-Id: I30a61920e1673d8bc3473ca85046b236bad0a2af
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
This makes Scene2D work again. Tests restored as well.
Change-Id: I4082d362c999a674be2debc297d59075f4b7c9e9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
That way NodeManagers only refers to managers holding nodes (so can be used by
aspect and all renderer) and GLResourceManagers refers to renderer specific
resources. Note: the Scene2D resourceaccessor was making direct access to GL
resource through the managers, this has been commented and will be restored
later.
Change-Id: Ic32784f60eac35aab8c066d1769f078639fa25b8
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
The macros aren't required since the switch to Qt requiring C++11
Change-Id: I7fa0a45322744934491005aa68f063f9607d53e7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
| |
And add required ShaderImageManager
Change-Id: I4b3347d6dc4b70690abea0486c933f5a508b057f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|\
| |
| |
| | |
Change-Id: Ib5c04e9941aeea1a4cd27519b94b9a53e8349ea3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove internal GLTexture sharing
- Remove dataFunctor data sharing
- Simplify the overall texture process:
1) Look for dirty textures
(either a property on QTexture or a referenced QTextureImage
has changed)
2) Update GL Resources
- Create a GLTexture for a given Texture if it doesn't exist
- Update GLTexture to reflect Texture state
- Perform actual GL texture creation and or upload
(call functors at this point)
- Cleanup GLTextures when matching Texture node has been
destroyed
This will provide an easier maintenance over time as it drastically
simplifies the handling of textures and removes most of the coupling.
Furthermore this will make it possible to send texture updates on
a QTexture node to update texture content without having to declare
QTextureImages which would not have been (or would have been a lot
harder) to do. In practice, I doubt most people were even aware of
the internal texture sharing in the first place.
[ChangeLog][Qt3DRender] Textures: internal data sharing removed
Change-Id: I02867c8105e29eb1e193884e3899062f795f32f4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Slightly reorganize jobs between jobs needed for rendering and jobs
that should run even when no rendering is required.
Change-Id: I02d262efd8cb46c71c40ac6dbcd4d1b25bb725e1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Adds frontend and backend node classes and the registration mechanism
in the render aspect.
Change-Id: I258e25fea98170433c8ed9d3fad6868a83beda43
Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ie06f41aefebf9c5c5d8dd8bcd68f9f352799ad18
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I2f775b9b81b2e5cbfccb3d4ff2d58fe7a3225b61
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Loading of skeleton will be handled in a follow up commit.
Change-Id: I4466524098e7cf33d6c39f70752d8bd632bac1f1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I35caba55beb54f60dcf2870df4edb2b7eb19c3f5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This is the backend counterpart to QShaderProgramBuilder. For now only
provides the basic registration and handling of properties. The code
generation part and its integration in the rendering will follow in the
next commits.
Change-Id: Iae57b3e8f0d54f5c24c541934655697937045847
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Remove event forward related stuff as they are no longer necessary after
the mouse event changes.
Task-number: QTBUG-58876
Change-Id: I2c9c52e41d5af3078d04ac9d5cc66753898e0ad9
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
This is a better API to set the environment lighting than what we
currently have on the metal/rough materials. Still needs to be
integrated in the renderer and to adjust the materials to make use of
it.
Change-Id: Ie1e46a0fa67916460147200c9cbbfbab8b037cee
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
src/render/backend/triangleboundingvolume.cpp
src/render/backend/triangleboundingvolume_p.h
src/render/frontend/qrenderaspect.cpp
src/render/frontend/sphere.cpp
src/render/frontend/sphere_p.h
src/render/jobs/pickboundingvolumejob.cpp
src/render/jobs/pickboundingvolumejob_p.h
src/render/picking/objectpicker.cpp
src/render/raycasting/qcollisionqueryresult_p.h
src/render/render.pro
src/src.pro
tests/auto/render/objectpicker/tst_objectpicker.cpp
tests/auto/render/render.pro
Change-Id: I95717c7855887850d5c90e7ad8f19f1ffb37a545
|
| |
| |
| |
| |
| |
| | |
Change-Id: I31cd1463b8c6fead18279754d99e876f6c71bb36
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I483483ac0bb43dd7cb76c971a1141f0e4af64b34
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Component to control complexity of entities based on either
distance to camera or size on screen.
Given a specific camera, the LevelOfDetail computes the distance to
the observer, or the screen size of the entity. The currentIndex
property is updated to identify which of the entries in the
provided array of distance or size ranges contains the current value.
A disabled LevelOfDetail component will act as a simple
(user controlled) switch.
Updates are not done on disabled sub trees since their
bounding boxes may not be valid.
Change-Id: Ifa4c088de6b80b6a6ed203070411761574686cdb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
When we changed the way we handled VAO by creating the OpenGLVertexArrayObject
class (which is a wrapper around QOpenGLVertexArrayObject), we adjusted the
VAOManager to store OpenGLVertexArrayObject instead of
QOpenGLVertexArrayObject pointers, the template specialization was not
properly updated.
This patch fixes that by using in the specialization the type that is actually
being stored by the manager.
Change-Id: I1b5fd20a1dddf4a8429aafdce4cc35488e77a379
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
|
|
|
|
| |
Change-Id: Ieacdf3115d5a823060b513bf28c5ec9bb4f44b43
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Delete objects in node managers.
Task-number: QTBUG-47978
Task-number: QTBUG-51035
Change-Id: I55167dfa8c7b76ed6405bcb2b3bc775ca0152a5b
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Adding unit testing to QTextureImageData
Task-number: QTBUG-51478
Change-Id: Icacdf8e5ba953eb2e637e46b16845745d06bd3ae
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-52736
Change-Id: I58f9cbcdf018e7b672d33dd865067485412b79fe
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I44f71671ead23256d5fdc621545492885ff940a5
Task-id: QTBUG-51486
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
QBoundingVolumeDebug has been disabled for now. Will be re-enabled later on.
Change-Id: Id6b0abab2ec2aa697330bd20d782f9d104d25d50
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Task-id: QTBUG-51454
Change-Id: I7bafa7b568226e060b1cd5ce855946f5b27e7b63
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* Renamed to QComputeCommand
* Removed protected ctor
* Added x,y,z workgroup properties
* Renamed backend elements to match frontend
Change-Id: I3959ec671a7d6e86239f72336f02452ea58919ee
Task-number: QTBUG-51514
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
As per API review
Change-Id: Icaca9797c01100402e6d103be2a0425820a717ec
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RenderStateNode is the backend node for QRenderStates. The actual
state-dependent behavior is implemented in subclasses of
RenderStateImpl. Backend nodes for QRenderPass and QStateSet now hold
IDs of the RenderState-nodes that they contain, instead of pointers.
This means that every frame the RenderView has to get the actual
backend nodes while building the RenderStateSets. This needs to be
fixed.
Change-Id: I908ce9763fdb9f4e851df8dbcecf5dc6ce5a4f49
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Update old header.LGPL3 to header.LGPL
Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ia3d1c209ea06ce6a6fd3aa87f4034d3eeaeffdda
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
This class could be reused for any kind of GLBuffer (not just uniform buffer)
so rename it accordingly.
Change-Id: I978696534f64fc3717ac135af94e9fe44aa23fba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QAbstractLight becomes QLight and gets its own backend node. This way we can
easily gather all lights for the scene and filter them when building render
commands.
Both the frontend and backend remain a subclass of (Q)ShaderData
but will not be part of the ordinary ShaderData component list. This
prevents mixing up ShaderDatas and Lights but allows reusing the same
underlying infrastructure so that properties can automatically be
transformed for example. It is worth noting that the position property for
lights is now removed: the position is determined by the entity's (to which
the light component belongs) position.
A number of changes are made to ShaderData itself as backend subclassing
with different managers is not straightforward.
For now the distance between the rendered entity and the entity with
the light component is calculated and lights will be chosen based on
this distance. A framegraph node for controlling this will be added
in future patches.
No uniform setting or shader changes are included here.
Task-number: QTBUG-48834
Change-Id: I43a6c5f9420d4254d798c558bd58680b2b09eceb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I0585281d2ba3e109b8ab8e45762e5101f7ea2163
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
The Renderer will have an instance of it so that the managing nodes part can
be removed from the Renderer class (should make it easier to test in the long
run).
Change-Id: Ia85833adff5d0bb383b6cb7bc44869141e1d4985
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|