| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Hiding them in QAspectEnginePrivate and calling them when needed from
setRootEntity.
Change-Id: I4c3dfb19d84ae90cc15bbff29a4abd0705bb61dc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
0.95 -> 0.01 to prevent eye-poppingly white specular highlights.
Change-Id: I3e765bad13afe991053932e73cea13b95c950c1c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As opposed to (mostly) camera space. Oops.
While somewhat hidden with point lights, the problem became apparent with
directional lights.
Now that we have proper directional lights, change the default light, that is
used when no light components are specified at all, from point to directional
since this is cheaper and provides less surprises with arbitrary scenes.
Also remove the duplicate phongalpha vertex shader in the process.
Change-Id: I295660a1400b16b69e1516672e31794312ee48d1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I61a4e072c1a2e00cdbcee917aa557e56fb8cb7c0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Icec2f9f207221e35ffdeeb594bb9b4dc6ef890f1
Task-number: QTBUG-49797
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Idc2d544d242c552033ad4826fad7a2fd48bf9672
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sensitivity is defined as the recipricol of the number of pixels
the mouse is required to move to obtain the extreme axis value (-1 or
+1). That is if you set it to 0.1 you need to move the mouse 10 pixels
to get an axis value of magnitude 1. If it is 0.01, 100 pixels gives
an axis value of magnitude 1.
The user is responsible for applying any additional transformations in
a suitable handler.
Change-Id: I51cd28a17d4fc0b8461ac3e49efb26b2c66081b3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I934a2b3b96db2be8d582059651338b69c4175320
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Iecf4d0fcb42e41e486d8cd6bf943c09878c7bbb2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
To prevent colliding with the standard Qt 3D type.
Change-Id: Ibf7b8b744dd23f1ced231e90486729be894a1be7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Two animated lights with the position of the lights represented
as spheres.
Change-Id: I5e337a4c2932e75dc4d676d4d9b9349249f6b227
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is like gltf but uses the original Collada asset and generates
a glTF model at build time. Now that the qgltf rule is in qtbase we
can freely use it in any examples.
This does not have the limitations the gltf example has: this will
function both with core profiles and ES.
Change-Id: I9f04cf8b77337d397e1aecd1ffb22b7ce7e15ef7
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
| |
Earth clouds are in the correct place again.
Change-Id: Ic4ca6683d0196a66463d578d6d1587a762156750
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Fix the documentation issues that still remained broken after
renaming the namespaces/QML modules. Do further cleanup and
minor doc editing.
Change-Id: Iff38c8c1b99e7f712dc3f9ad07ecd37a747b3a26
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
|
|
|
|
| |
Change-Id: If9100fbc1870c09d90c9c1df102cf9c0503b96cb
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
This covers all examples that can use the standard S, R, T order of
transformations with a single rotation.
Change-Id: Ief6741f9605742c545d8ef2be9bf8ab65164835d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: If289d74601e2244d4175ba6b1ea3eb95df0bd50b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Will be used to prove out the API. Perhaps we can extend this into a
more complete example to show how the scene hierarchy leads to
propagation of transformations.
Change-Id: I06ed5fdd8f38043d1b4a296e9fa8a07c54a736af
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
New simplified QTransform doesn't need these any longer. We now get a
nice reduction in QObject count when dealing with transformations.
Change-Id: I8ba8febada4ad1f05728aa848fb5e70a62028040
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Compound transformations are now built up using QMatrix4x4 in both QML
and C++. Updating examples accordingly.
Change-Id: I03c9abf1f6cdd1b56226dc0e16a7ad5ce84516dd
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I9f2442b49d825a36bef7036ee0893a17464bd73c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I5865e1250ad9e593d9abbcf33498d0c4a49e93e2
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
- Changed 'Qt3D' references to 'Qt 3D'.
- Fixed incorrect \inqmlmodule instances.
- Fixed broken \printuntil instances in the example docs.
- Updated the namespace qualifier for a few class references.
Change-Id: I250afe6843b10ed520f9ce5d7465203cc5c212c1
Reviewed-by: Topi Reiniö <topi.reinio@digia.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: I6b0acff59f98e5daf51ea3cf3ab028728c2dd2ae
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>
|
|
|
|
|
| |
Change-Id: I710df314902ca592c236e2120119718fc3b90c2c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Makes the QML imports consistent with the C++ namespaces.
Change-Id: I8c781a67a9010124bd22bb1fab16c4f1082fd962
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Create a Mesh with buffers from QML with JS typed arrays
Change-Id: I7f774b311c944a5ef2e2174b0699c430758559f1
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
|
|
| |
Update other aspects, tests and examples accordingly.
Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Updated examples and tests accordingly.
Change-Id: I8848a88472de2302aa072fa11f21ea934672b7e6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Also update examples accordingly.
Change-Id: I8d19c3165899e4b7b791deb33098af4fb439f44a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Graphics, XML and text descriptions of objects don't need it.
Change-Id: Ie01908ef848e09fcc4e08bc1f508496dbd85de29
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ib1e6159a5fb44bfc167c63776bb878c73d043796
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Not sure why the version is only set for OS X - requesting 2.0 core profile
is not ideal (as it's pretty wrong).
Change-Id: Ic82b9835e3057fa79ac246eb6e41481970ac9cd9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic268445614a2d9d645029629747f5ef2e1aedc97
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently if you use a QMesh that has its geometry loaded from an obj
file, the UV coordinates are such that the default loading behavior for
textures is inversed over the Y axis, and now any textures provide must
be preprocessed to be inversed over the Y axis as well. This is not
consistent with the behavior of our scene loaders which allow for
Textures to be loaded normally (right-side-up) and still get sampled
correctly. This is because the scene loaders make sure to flip the UV
coordinates when loading the asset. To be consistent, we now the UV
coordinates when loading QMesh geometry with the Objloader.
[ChangeLog][Qt3DRenderer][Objloader] UV Coordinates are now always
flipped when loading QMesh Geometry from an obj source.
Task-number: QTBUG-46815
Change-Id: I8c3ee5de5c8bbaf5967ef81059ed97eb85901ac2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows exploring the loaded subtrees from QML/Javascript code. The
C++ classes are not suitable for this as they lack properties that involve
QML specifics.
The assimp (QML) example is updated to show how to do this (with the help
of some C++ code). Say hello to the pulsating torus and the rotating monkey!
Change-Id: I60401272105df5d72f4b7afebe26a3271e92f19e
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I1f13cea4cf864dcf985d1f487e195509de9006e7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I72adb8b1221a06857d738ec19e6fd32e2c7886af
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
Note: we don't have the blue clear color because it defaults to white with the
default framegraph
Change-Id: I993675105530d8f01b1b80b65bc37ec35e98426b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Iaf20fff6d8e89060876face4d0229f7fcea61f21
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ie556d85a837ebefbf1d6e053f7985bf791ffdcfb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch includes a new scene parser plugin which enables the loading
of glTF files (using the 0.8 spec) into Qt3D scenes. The gltf example
has been updated to work with the current APIs and the asset files it
used have been updated to match the glTF 0.8 spec requrements.
Previously an unused copy of the GLTF scene parser was located in
render/io. It was being built, but not used as only plugin based
sceneloaders were loaded by the renderer. Now it should be usable and
always available.
Change-Id: Ic2e31e2b63a871559aad9bad90ec2820988a1571
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
| |
Also added a dataSize property to know the number of components per vertice (1 - 4)
Change-Id: Iaa7cee2a53958ed2ec2f603f3ffc7971c027991d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I94ad9870a819af165fbbeae3a51db05c043d40ca
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
Demonstrate how to use the Buffer API to create a custom tetrahedron mesh.
Change-Id: Ie30458c8a6dc3e2d8b1c6aef4a95a57f4cc63de9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Switch QAbstractAttribute and QAbstractBuffer to QNode subclasses
- Get rid of all shared pointer when dealing with these (needed to expose to
QML and use the QObject ownership)
- Introduce QGeometryRender, QGeometry, QAttributeProvider,
QAttributeAggregator.
A QMesh component now is:
a QGeometryRenderer which specifies its QGeometry.
The QGeometry refererences n attributes. Each attribute references a QAbstractBuffer.
Change-Id: I49a10c11a605e5fe7c180af86a404f622e763f48
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The meaning of exclusiveFocus is not set in stone for now. We know some kind
of exclusive focus will be needed but defining it precisely will be done as
the input aspect takes shape.
QMouseController -> dispatch events to QMouseInput, specify the camera to be
used to perform the picks.
QMouseInput -> Component that offers a way to react to mouse events
Q3DMouseEvent/Q3DWheelEvent -> Qt3D mapping of QMouseEvent/QWheelEvent
Change-Id: I462bea2932d4bad6595d04a75ea1e0a67c7c8ba0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|