| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Update old header.LGPL3 to header.LGPL
Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added triangle visitor by refactor the triangle volume extractor
Added ability to do a ray intersection with a single volume without using a thread
Added entity collector
Use one thread for each entity
Ignore entities that don’t have a pick object
Removed list of triangle volumes stored on each entity
Use triangle visitor to test each triangle by creating a single volume on the stack
Added triangle and 3 vertex index to the pick event
Change-Id: Id3fd53549bf3ea07805426ef868df174f30e176b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Intersection (world and local) and distance added to pick event
Modified test so that it includes the event
Change-Id: I8631d626e5108d2e044374ee3425625f5588c38c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Getting rid of set data and the refactoring on setting the surface implies
that:
- Given the FrameGraph configuration, there may be several RenderViews
each having a different RenderSurfaceSelector/Window
- This means that the Renderer/QRenderAspect can't know about the surface
before reading the scene
- This means that the Renderer may be dealing with more than 1 window
- This means that initialization, render and shutdown procedures will have to
be updated accordingly
Therefore the Renderer was refactored to:
- Be initialized without knowing about a surface
- For each RenderView, check the surface and if different from the previous
one:
* Make the context current with it
* Create the appropriate glHelpers (as Surfaces may have != formats)
TO DO:
- Fix picking
- Fix windows exposition
- Fix shutdown / detection of all windows beging closed
Change-Id: I49d070b05f46be4b26cfb57e494feba145d1da9c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
handle device pixel ratio and none full-window Scene3D
Change-Id: Iadc504a00816d9363847bf9ec1e09d4b7c631666
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I7399008adb0f612c78738f58f168fa38cf6ae845
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I4dbdfe9315dc3b0bb89119372301d24a292520d9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds support for DDS textures.
It also adds QTextureLoader, a generic texture provider without a
texture target. The actual texture target will be based on the
properties of the texture loaded from its "source" property.
Change-Id: If89cce7a55b3d82355f2da35588a091b7188f36c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Iaf54b8c2e201b728b7f1313ba98d9a8e93a107e8
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ifbe93173010bf058f198990c62d5e93fea967a74
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
This way the only thing Renderer knows about QRenderAspect is the enum
controlling the render more (threaded or synchronous). We properly
decoupled both now.
Change-Id: I0023efec541d40f7b499da4355d5cd8b796d2194
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This way we avoid leaking private types through public API.
Change-Id: Ifb30d7e57d8b995bba8cf9a95ae77f8d7818d79a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I9da605c77c5489b9bef4f07079e05f8babb9559f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I871cbc57166493f30ea307305d8664e2f8a8873f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Id69a161da691322184d8ec5ed7a1b375cf2038ed
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Until such time as we can only perform it upon request rather than every
time the mouse moves.
Change-Id: Idcc940360cc2bf8133cd02ac2b108996a19b4901
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I79e0b0d62e07a269ebfce99edff56d30da28494c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Iee0c2b50985d6c87f196877544f501eab33f6d37
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Ifaf8ff275923120f99a8cb008a7d501b88594f8f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Empty for now.
Change-Id: I4edcdae58230e53c266c214052522d3ab54b1c6c
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: I422c7fad4e82c3becdba240d848c2a55e4bb97a5
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I6799c069b3a65572d6ee351e972d4fafbc6ea559
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I366876f68040dd571524d9d7137a2f7916a5b757
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Iacfcfce5d4a339acd29bcaacffb38ce339220ad2
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I662577e6dd337b1f056f73b4a11262e902d4dde2
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I756cdb04c72a7a41787e1fcac8ae3da659ad8555
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I074aa540e88a5772542a08263266429fc6be9ae4
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This will allow to keep the triangle volumes on the GeometryRenderer and have
them updated only when the attributes or buffer change
Change-Id: Ia616189f7f1e68bd25a850f5b12198eac3a030ec
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
| |
Will be further improved in the following patches
Change-Id: Iff1aa982d65d51eb33546a1f05b8d0e3752d105d
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Id8072015f153bebf3e44b9d0a6ad9e2e9254aa83
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0585281d2ba3e109b8ab8e45762e5101f7ea2163
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I864423c8262a7c90fe6cf04b0bcfd5baa1bacef8
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Id327e4eb6bd78618a62bc75ef0cdabc8b2111aa7
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I970ee03f10a4d65e2629d9f0abe50a4317414093
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0ddc39adecd4d567997002a48705724803276bc1
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I06bf69f49bcbc63fb1e78954d5845401796d031f
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I74cdc4988dfda2137af4165582a82fef684c8b43
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I45a458e302642122037f1b46eaca4f5fbd180af0
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I8d505034b24c3ec00b93ace02e5a4fe450939478
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I9a929e776151f81b91fbbaf6631938fca03c7e1f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ib3419e78abd4b1848cfabf05efb8871c2ff87560
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
- properly handle click events
- fix hover events when using multiple viewports
- handle picking on parent Entities that have no geometry
Change-Id: Ie44cc4278a4dacf36f2ad6e4f77aea0eb2977d51
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ie30ff21112f6fbaf6bb990a8662c24375d237c96
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: If9ccd4ab537a1d99d2f5b34b170cc247e6891e17
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I9be81febfa3549af5914cce25ce15afa395815d8
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I766ca1bd84db43a6805f4bf20083dc6dbdc150e5
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395
Task-number: QTBUG-39946
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|