| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuaternion::fromEulerAngles({}) is fromEulerAngles(0, 0, 0), which is
the identity quaternion (w=1, x=0, y=0, z=0).
Use a constexpr global constant for this instead of forcing the
compiler to re-evaluate this out-of-line function over and over again.
Also fixes an ambiguity error caused by the addition of a
fromEulerAngle() overload in QtBase.
Amends b1a8f963b2b3dd0ee0e970ae958c544af7d4f340.
Pick-to: 6.10 6.9 6.8
Change-Id: I0f3094695a8d4b09aadc58bf3092b1abae45e554
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QQuaternion::fromEulerAngles() function is out-of-line, so cannot
be constexpr. But we don't need to call it to construct a static const
object of a trivial rotation; we can just create the quaternion
directly.
This turns a mutex-protected run-time ("magic statics") initialization
into a compile-time constant.
It also fixes a compile-error that the introduction of the new
fromEulerAngles(EulerAngles) caused, due to the call here using
untyped braced initialization (even though just dropping the braces
would have been shorter).
Amends 41aa8aa2d47ab710dd48b536e58bd6080feafe1e.
Pick-to: 6.10 6.9 6.8
Change-Id: I62e98062aaa2d596342005d337328d3b790d600d
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
embree does not compile with appleclang in c++23 mode due to missing
headers.
Fixes: QTBUG-138245
Pick-to: 6.8 6.9 6.10
Change-Id: I7884b7c310040dc1e4057a7d5626b1b85767885c
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just do what the documentation says, register the texture provider and
keep it until the caller unregisters it. This change also removes the
memory stat for extension textures as we'll need a slight different
approach then what we do for the other resources - We were increasing
based on usage, which isn't correct.
Pick-to: 6.10 6.9 6.8
Change-Id: I7dd094bfddb3fc4cb02ca07c011c131e8dc8ba0c
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
- Add missing destructor.
- Make sure process() waits for the invoked method to finish.
- Set status to Finished when setupLights() fails.
Pick-to: 6.10
Change-Id: I3b2f55d6d01cf77ad4e912d818b06fbedae0278c
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Design Studio needs this callback function to be able to trigger
denoising.
Pick-to: 6.10
Change-Id: Ie37c73f2ad11d1852da8cd6e906c6f9e203494a8
Reviewed-by: Miikka Heikkinen <[email protected]>
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends 095d7746b392d3770726953d3755f2b3d137155d. This fixes the build if
QT_QUICK3D_HAS_LIGHTMAPPER isn't defined.
qssglightmapbaker.cpp:125:72: error: unused parameter ‘ctx’ [-Werror=unused-parameter]
Pick-to: 6.10
Task-number: QTBUG-139033
Change-Id: Ic362d473b80f7405e127fffd5d47dc10d5eb4beb
Reviewed-by: Jonas Karlsson <[email protected]>
|
|
|
|
|
|
|
|
| |
CMake warns about multiple "COMMENT" keyword arguments, so we quote it.
Pick-to: 6.8 6.9 6.10
Change-Id: Iefd15fca2fe67b38feb38fc4b96e90fb7eac13ec
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces layering, or tagging, support to QtQuick3D making
it possible to group nodes to different layer and have the camera render
only the parts of the scene that belongs to a layer.
[ChangeLog] Added layering support
Change-Id: I7c447395e8a387b5bc6a42bbe74638dfa2454bbf
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Since there might be some missing dependencies otherwise, we add an if
guard for QT_QUICK3D_HAS_LIGHTMAPPER and implement the member functions
only if it is set.
Fixes: QTBUG-139033
Pick-to: 6.10
Change-Id: Id5ba0af943102c44479e09cec817136a71adae3f
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
This amends 29aa09ae62a94da037a7d06cc815738061ee8544 where the initial
license header was added.
Fixes: QTBUG-136137
Pick-to: 6.10 6.9 6.8
Change-Id: I81c4d286dc52961381e9108211b3526ce6f33274
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The \generatelist command takes an optional argument
that affect how the members are listed, for example,
`classesbymodule` which creates an annotated list of
the classes in a named C++ module.
`groupsbymodule` is not recognized or documented. QDoc
falls back to generating a list of all members of a
group in this case. While the end result is correct,
this relies on an undocumented feature that is likely
to change and break.
Replace these instances with an explicit \annotatedlist
command that produces the same output.
Pick-to: 6.10
Task-number: QTBUG-138901
Change-Id: Idc09856c99cc49a5909cb86684e7e18a4fe84190
Reviewed-by: Paul Wicking <[email protected]>
|
|
|
|
|
|
|
|
| |
So that keywords such as NDC_Y_UP will become available in
postprocessing effects too, not just custom materials.
Change-Id: I9a16825684db556aa333a50431f9aa9aa6dd83b0
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The type is accessible through the `renderStats` property of the exposed
View3D type but is not exposed itself.
qmllint produces a warning about this as it cannot resolve the type that
is being accessed.
Thus expose the type to the QML type system through an appropriate
registration macro, in particularly naming the resulting type
`RenderStats` to align it with the pre-existing documentation for it.
Additionally marking it as QML_UNCREATABLE due to the already existing
documentation for the type stating that the type cannot be created
directly but only retrieved from a View3D.
Additionally register the version of introduction for documentation
purposes.
Pick-to: 6.10
Task-number: QTBUG-138170
Change-Id: Ifba348924815cd4457c653dae1f8dc6ebf188756
Reviewed-by: Andy Nichols <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building qt with c++23 (clang-20) requires QSSGDebugDrawSystem to be
fully defined, as std::unique_ptr<QSSGDebugDrawSystem> is used as
defaulted argument which apparently causes the QSSGDebugDrawSystem
destructor to be instantiated.
Adding an overload to avoid the defaulted parameter
Pick-to: 6.10
Change-Id: I8e7b862b6c2323e3bf63104aa96c9cf00fb68dc8
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
| |
Change-Id: I2808ff1b36acde306d26218564a8348c2bf79bbb
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I95372dfc931a56731ce2ae87f360893e2cfe12ef
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This causes user projects to automatically find the private Qt module
packages and expose the Private targets and their headers, without the
user project explicitly opting into this, and without showing them a
warning.
Pick-to: 6.10
Task-number: QTBUG-138712
Change-Id: Id474a4ec35ff19840a352fc537490c1df6e9a617
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
| |
[ChangeLog] VIEW_MATRIX is now available in post-processing effects.
Change-Id: I1c665f52e09c1ddb03c8c9e023a4503365173cb5
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Replace broken tag syntax with \l to format Light::shadowBais and
Light::use32Bitshadowmap as inline code links.
Pick-to: 6.9 6.10
Fixes: QTBUG-138591
Change-Id: I2d5c555bcf24e0aadd9eba2fb339f445f49581d8
Reviewed-by: Jonas Karlsson <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Denoise all the lightmaps in the file instead of going through the model
with keys in the scene. Also updates the stage reporting properly
Pick-to: 6.10
Change-Id: I82aa32f891be0a76901503844f113b8ffd829793
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a ProgressTracker class for keeping track of the stage and the
fraction of the total progress direct light, indirect light and
denoising take. Also adds progress reporting for direct light and
denoising.
Pick-to: 6.10
Change-Id: I6bd7372be56dbf39fdfd2e8b7c483ae62d9c2575
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Checking for passthrough support during every frame causes a huge drop
in frame rate when using Varjo Aero.
Pick-to: 6.10 6.9 6.8
Change-Id: I37b2dd9787a1f33188aa461f7f881aae8a06ecd5
Reviewed-by: Paul Olav Tvete <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Runs the lightmapper in its own thread with its own RHI context. This
makes it possible to interact with the main window as well as makes the
bake window not randomly freeze.
Pick-to: 6.10
Change-Id: I6912abb3ae1bc9468a441907b5d116aae481dc60
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
| |
The buffer layout does not match the vertex shader's declaration
when QSHADER_VIEW_COUNT is 2. Update based on the vertex shader.
Change-Id: I71cafae1917be463cd0b6d53cec009b154eb2cab
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
| |
Change-Id: Ic51d80af3f885fe5325b3053633774023088c88b
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
| |
Change-Id: Id55f7d504aa2089997a85c9a93617190e4c25013
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using namespaced Qt, we need to prevent symbol clashes with symbols
of the same name.
* namespace some publicly visible classes
* hide classes in implementation in an anonymous namespace
Task-number: QTBUG-138543
Pick-to: 6.10
Change-Id: I55aa14e684425fd092539c94a9fe943477e7300c
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
| |
Change-Id: I0fa8b43f6a30c7b6bb09e569f24cbf0a1b3bef87
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
| |
Change-Id: I4fa2507d6c72b20931538e4973f6187458ca58c8
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let the compiler count the number of elements in
qt_quick3d_sine_table[], and then statically assert that it's as
expected. We had enough cases where zero-inialized elements were added
at the end silently by using the old technique.
As a drive-by, add Q_CONSTINIT.
Amends 0b4f59d0660b9d508c394e0b3039637364c89287.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I1c3f6136803f5d2e292ea7eb827ef470efb54a61
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The module appears to be compiled with QT_ASCII_WARN.
Fix by using QLatin1StringView literals instead of plain C strings.
Amends edaef10f41074b0616c3ec42d379cf4bd9cc9278.
Pick-to: 6.10
Change-Id: I8da2cbef7c1684a33f2c5141fb4b1640370aef43
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Says GCC:
qssglightmapper.cpp:2777:77: required from here
2777 | const QString tmpPath = QFileInfo(d->options.source).absoluteFilePath() + ".tmp";
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
qstringbuilder.h:400:37: warning: ‘static void QConcatenable<const char [N]>::appendTo(const char*, QChar*&) [with long long int N = 5]’ is deprecated: Use fromUtf8, QStringLiteral, or QLatin1StringView [-Wdeprecated-declarations]
400 | QConcatenableEx<B>::appendTo(p.b, out);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
The module appears to be compiled with QT_ASCII_WARN.
Fix by using QLatin1StringView literals instead of plain C strings.
As a drive-by, port from QSharedPointer(new QFile) to the more efficient
QSharedPointer<QFile>::create().
Amends 8d2873fb8ffbb4992f4392fb09d6df3b5b027fed.
Change-Id: Ide790ffde8bd56c095e45c53c11e8d0ee0cfbfe3
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qmatrix4x4.h will lose its qquaternion.h include, so include
qquaternion.h explicitly in all files that mention 'QQuaternion',
unless, for a foo.cpp, the own foo.h has already included it.
Picking all the way back, even though the include removal won't be
picked as far back, because it's the correct thing to do and cannot
fail.
Also add forward declarations, where they suffice.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ibfc1e941978c750c05e57e3772f3a68bc921c81f
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The QQuick3DNode class is declared _inside_ QT_NAMESPACE, so it also
needs to be forward-declared there (was: at global scope).
Amends 7b71caf544884f1e082ad57fa99bc53352f066c0.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I738bb100c30f8376105b182ca4257993ca7cdaef
Reviewed-by: Volker Hilsheimer <[email protected]>
|
|
|
|
|
| |
Change-Id: Ib8a7116bd33a1bfc21ea025eaa8713618e900900
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rearrange the output window components. Add a label for showing the
baking stage and remove the elapsed time label. Add a Frame around the
log text.
- Add some proper types checks of the payload (fixes a bug where 0
numbers would mean false and not update the value).
Pick-to: 6.10
Change-Id: Ibbecfeb9dd37a3987e5b46204c37203871b82af1
Reviewed-by: Kristoffer Skau <[email protected]>
|
|
|
|
|
|
|
|
|
| |
This removes the need for lots of VRAM in the rasterize phase when
baking big lightmaps.
Pick-to: 6.10
Change-Id: Ieb708d1d9352e21d416f29648764e6d6b920869f
Reviewed-by: Kristoffer Skau <[email protected]>
|
|
|
|
|
| |
Change-Id: If3f02ad0abe27d27a32202b8dd2a53926caf0c01
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Restructure the baking stages to be per model and continously use a temp
lightmap file during the baking process. This allows us to cache way
less data to lower the memory usage further.
Pick-to: 6.10
Change-Id: I0305f22724befbf5c27664162da6a55f4aa31b1f
Reviewed-by: Jonas Karlsson <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a debugging tool for viewing Qt's baked lightmap files. While
users can use this tool, it is intended for development only.
The tool is both a GUI tool for viewing lightmaps and a command line
application that accepts flags for printing info and extracting the
content of the lightmap file.
Pick-to: 6.10
Change-Id: I95279e248ea82e0e1384bbf880dcecc7af778dfe
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we set the baked lighting models on the lightmapper prior to
triggering the extra frame that's necessary. This is not safe. Instead
query the lighting models when we are on the baking frame, right before
starting. Added a new callback to call the necessary function on the
layer.
Amends 780ab6e03190710dd921425b37afae5a12a36b63
Pick-to: 6.10
Change-Id: I71475d3d55b2f1b49557c4bf2df67097b3928e6b
Reviewed-by: Jonas Karlsson <[email protected]>
|
|
|
|
|
| |
Change-Id: I81ae70793c5298824f1abfe876a00a4554b11cfb
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
| |
Change-Id: I4901086f1210ca1a7f96b52a670c245d9e0952f7
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
| |
Change-Id: I1f0908acc454c1599d9c43fc0f04669da924bcb2
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Use the workgroup index as the seed of the randomness generator. This is
effectively the same as using a thread_local seed as done previously
except it will be deterministic between runs.
Pick-to: 6.10
Change-Id: Iab02b58e48e431e1e54ea5efd4da331feae391dd
Reviewed-by: Kristoffer Skau <[email protected]>
|
|
|
|
|
| |
Change-Id: I4154a0e289bda44f41277ceec1c967afe0e1b663
Reviewed-by: Qt Submodule Update Bot <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, it tried to load a mesh even if the mesh data vertex buffer
was empty. This caused it to display warning about
mesh building failure. This patch add check for an empty vertex buffer.
This suppresses the warning.
Amends: edaef10f41074b0616c3ec42d379cf4bd9cc9278
Fixes: QTBUG-137979
Pick-to: 6.10
Change-Id: I2ec4f39cf04802d16181e3cb485715653b9cf54d
Reviewed-by: Jonas Karlsson <[email protected]>
|
|
|
|
|
|
|
|
|
| |
MotionBlur is deprecated and the test is flaky so disable it in
the lancelot test suite.
Pick-to: 6.10 6.9 6.8
Change-Id: Ica6b28d069da1c64fabe19bdd07c52354dcb7b73
Reviewed-by: Eirik Aavitsland <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the direct light was rendered to a x3 sized texture that got
blurred and downscaled to get smooth looking edges. The drawback with
that method is that it needs 9x the amount of RAM and VRAM. Instead, we
now render this upscaled texture in smaller tiles.
Four floats for defining the UV region is added to the lightmap
rasterizer shader. These floats are then setup for the tiles so that
they are rendered into a subregion but with higher resolution. These
tiles are then blurred and downscaled and put into the direct light
texture map.
Pick-to: 6.10
Change-Id: I63484dc0856f8e4ee7a9fc43dd1b9b7a2d1b3506
Reviewed-by: Kristoffer Skau <[email protected]>
|