| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases the VAO was being created but there wasn't any input
attributes specified on the shader at that time which skipped the
specification of the attributes in updateBuffersAndAttributes(). We now
track whether the VAO has been specified as part of the VAO object
itself.
This way, the first time the VAO is actually used to draw something we
can ensure the attributes have been specified.
Also skip the draw calls if the primitive count is zero.
Change-Id: Iad0a1cff4677ab33369057a6000f0f4a18dc5c58
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I67866ea75e39a2c20b6422deb067c792cee9ff36
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I6381480d080bb3160035b190d94a9593aad3d9ab
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Icb24a28be82f9fa0ca85d1a4d6e5b3f7a7c8f7e8
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Update other aspects, tests and examples accordingly.
Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic4a69123255c33990765ea3601e01914c2d8cb70
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ide8d0d0831755b0eb5f8f724c2e7c0ed838e4b9d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I12c00abc1a539b8ec8a2cbac00283b55216884ac
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I083461d12e3398c10c6a41de54c3b588ecaf07fa
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I619637b27ae2c261b5f86193757ba45b971fed93
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Iafdfc44bdc97c53974a2d47834a61914be06ac25
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I254f2205cd1587bb599d26a087c515d526bf289b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ia7eeddb8a114eef1ba3c0d2bfae7ecc8d2fcf8d1
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I77367f67c522d5a5bb55423501406a5f7e108b95
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I4fed4482fe3620caed638f36a054db374a8e8942
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I3da5588470de57b5ed144f60b9e28a74f96d164f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I3e7750c2f2388cd14ece6a339beafd13f31e018f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ifb5f3882e9bd584536321dde97eac2c471528f27
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I0c30308a609c3530119c99fe99c47782bde0c444
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I58e4422c265ddf7a32c0615b378c8017fe0a3461
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I459cd73f92931002c69d5f8fa8c19880e9149d25
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Iccf052b78a74ba03658630e061d2fa335c280dc6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Updated examples and tests accordingly.
Change-Id: I8848a88472de2302aa072fa11f21ea934672b7e6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I1f13cea4cf864dcf985d1f487e195509de9006e7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: If049768730a0f3aad3ea2b4f5cda2808f4035726
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
This is needed to add logic for geometry functors that needs to be loaded.
Change-Id: I06e59447c41ea8e08cfdb77fc94084837afebeac
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each buffer when it receives a new functor adds itself with the buffer
manager. This then allows to build LoadBufferJob instances for each buffer to
be loaded. The buffers can then be loaded before a frame is rendered.
The GeometryRendererManager has been moved back with other managers and the
BufferManager takes its place to handle the additional management of dirty
buffers.
Renderer updated accordingly.
Change-Id: I5df839b56d18de077e1ff2921cb481ed8f613567
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Note: This breaks rendering with QMeshData. All the default meshes will be
ported to QGeometryRenderer in follow up commits.
Change-Id: I33f85c079c40fa675e06c5a49fdc9029507318e0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
This will make it easier to add new properties such as a list of dirty
GeometryRenderer to be updated...
Change-Id: I30b07d72d373e70c0e2a96a4a47aff9cf63545a4
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I9d56ca143cc772fe8e4627c872453b38e0c6fce2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I848cb20d20e59d3fa18c6336d3649e7ad810494d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I65a2dbd1491356ef9b5f33024b973031cd5be4d1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Id8f2f2c5a155ac8f1d59751a8fc19f363de9c4f0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
As for preparation for Qt5.5 release the copyright header is
updated to correspond the current license requirements.
Change-Id: I36632918b66f455539453b42c369689fb11298ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I3a751d3357606951cc90176b6c48c4684e4f560f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- UBO created for each Shader/ShaderData
- We deal with nested QShaderData by looking for QNodeId only instead of looking
for QShaderData*
- We update only the values that have changed into the UBO
- A CleanupFrameJob was added to properly clear all RenderShaderData set for
updates after a frame
- RenderShaderData is cleared of all UBO rendering logic
- BlockToUBO contains all the updated properties for a given UBO in a
RenderView, that solves the issue of properties being updated in the
RenderShaderData while performing a draw call
Note: the QShaderData transformed properties were commented for now
deferred-examples and playground qml updates to follow
Change-Id: I8ecf155288c154f41b505cf465d31f5eb8a71b5d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I6d07ef4545f4312d6a9526a6dfd0617e9d371a5d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I6063567362e8d29a4a48560e625bcae6a5e89190
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I0450a4d4708af1ccd3d4c8f2ddc5c9a5c9deca27
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Once we are happy with the API we can make this public for a future
release.
Change-Id: I914f087e10adddbadac1649a8b889b9f53f82fd2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Should allow to easily replace QUuid by a custom quint64 based struct
Change-Id: Ib4ba57efd2e070317aa3417b37ce091f2b4779a0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Also changed the CameraManager to use the ArrayAllocatingPolicy
Change-Id: Icb00e29e47c29be02cc45c2d200b8c7611a29632
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: If19e15d2ee6a663607ba13b8ddf6dac3193948d2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
All handles typedefs are defined in a dedicated small header file that can
easily be included.
Those typedefs must be used when referencing a certain type of handles to
avoid errors.
All raw QHandle uses or redefinitions of typedefs have been removed.
Change-Id: Ia6c006ede0db3be22e58dad9b3cc104029023056
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
Makes the project smaller and easier to understand.
Change-Id: I2ee5f8c88a61c70b2173c2d69d62a1cd9a646141
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|