[qt/qt/qtquick3d]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtquick3d
Pushed by mirror-service into branch 'dev'.
Changed from 48ae00cd622f350be2cac2e9fd1b279e42829516 to be1755f012877a743cde18a63906ccf08791290a
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 315d0381d571031b05b8f6df41698d3a8a8def28 by Andy Nichols on 06/08/2026 at 12:04..
Weld positions before generating mesh levels of detail

Simplification can only collapse an edge when the faces around it share
its vertices, so a position that appears more than once in the vertex
buffer pins every edge that touches it. A mesh exported with one vertex
per triangle corner therefore has no collapsible edge at all,
simplifyMesh() returns the input unchanged, and the loop breaks on the
very first iteration without producing a single level: importing the
Khronos Suzanne sample with --generateMeshLevelsOfDetail silently
produced nothing. Weld by position first, simplify that, and translate
the resulting indexes back to the original vertex numbering that the
vertex buffer being written out uses; Suzanne then yields ten levels,
from 6141 indexes down to 12. The meshoptimizer vertex remapping this
needs is only compiled into Quick3DUtils, so generateVertexRemap(),
remapVertexBuffer() and remapIndexBuffer() are exported next to the
existing simplifyMesh() wrapper.

Welding a position that was split only to carry different normals is
safe because the level's normals are recalculated afterwards, but that
is exactly what recalculateLodNormals=false turns off. The normals join
the weld key in that case, so a hard edge stays pinned instead of
leaving every face around it reading whichever of them the weld happened
to pick; such a mesh then yields fewer levels, or none. Attributes the
key does not cover still have to settle on one value, which is inherent
to simplifying across a seam and only affects the coarser levels.

A test imports a mesh stored with one vertex per triangle corner, in a
smoothly shaded and a faceted version, and covers both option paths.

Pick-to: 6.12 6.11 6.8
Change-Id: Ia027803ce4e1394843efa7d1bd603f0f1f0cd8f3
Reviewed-by: Christian Strømme <[email protected]>
https://invent.kde.org/qt/qt/qtquick3d/-/commit/315d0381d571031b05b8f6df41698d3a8a8def28

Git commit c0945182f53927640b53dc1a9d70478a899b12a0 by Andy Nichols on 06/08/2026 at 12:04..
balsam: Reset the QML id allocator between assets

writeQml() allocates component-unique ids through three process-wide
statics that were never cleared, one of them keyed by node pointer.
balsam converts every positional argument in the same process and each
scene releases its nodes before the next one is built, so a new node
allocated at a freed node's address takes a false hit and is handed the
previous asset's id. Only the first asset of a run comes out correct;
the rest get ids belonging to their predecessor throughout, so the
generated component either fails to load or binds to the wrong objects.
Reset all three from one helper called by both exported entry points
that allocate ids, writeQml() and writeQmlComponent(), the latter being
exposed to the same hazard whenever the material editor rebuilds its
scene between exports. A test converts one asset twice in a single
process and requires the two generated components to be identical.

Pick-to: 6.12 6.11 6.8
Change-Id: I4825fc2a6fa2d34fecc1a5d31b4400e24d7d550a
Reviewed-by: Christian Strømme <[email protected]>
https://invent.kde.org/qt/qt/qtquick3d/-/commit/c0945182f53927640b53dc1a9d70478a899b12a0

Git commit be1755f012877a743cde18a63906ccf08791290a by Alexey Zerkin on 06/08/2026 at 14:33..
Use color alpha instead of hard coded in simple quad fragment shader

Simple quad fragment shader is used to render final image on the
screen in User Passes API. With hard coded alpha channel for example
transparent screen clear color is ignored. This chage fixes this
issue.

Fixes: QTBUG-148465
Pick-to: 6.12
Change-Id: I6362e64f222b375d6429cde7c53f014520b3a9f1
Reviewed-by: Andy Nichols <[email protected]>
Reviewed-by: Jonas Karlsson <[email protected]>
https://invent.kde.org/qt/qt/qtquick3d/-/commit/be1755f012877a743cde18a63906ccf08791290a
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.