Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.0.3
-
None
-
On linux Kubuntu 20.04, Cinamon
Using NVidia driver 460.73.01
OpenGL 4.6.0
-
-
8e4e8d256d (qt/tqtc-qtquick3d/dev) 8e4e8d256d (qt/qtquick3d/6.4)
-
2022 Qt Quick 3D: Week 11-12, 2022 Qt Quick 3D: Week 17-18
Description
Inside a `Skeleton` element there is usually a structure a `Joints`, each `Joint` having one unique index.
Having a `Joint` with an index too high results in OpenGL error. (Observed value for maximal index are 255 and 144, depending on context, see how to reproduce below)
The error message starts with
Requesting OpenGL 4.3 core context succeeded Failed to link shader program: Vertex info
The full error message can be found here on pastebin.
How to reproduce, method 1:
- Open "Qt Quick 3D - Simple skinning exemple"
- Look for SimpleSkinning.qml, line 122 (i.e. `index: 0`)
- Replace the 0 with 254 : the application runs without error. (The display looks a little distorted, because there isn't 254 inverseBindPoses matrices, but a default identity matrix is used)
- Replace the 0 with 255 : the mesh is not displayed and a runtime error is produced, comming from OpenGL
How to reproduce, method 2:
- Get the files in attachement
- The "MagicNumber143" element contains 143 joints element and runs.
- Comment line 30 and uncomment line 31 of main.qml : The "MagicNumber144" element contains 144 joints and will trigger the error
Attachments
Issue Links
- duplicates
-
QTBUG-101921 Different behavior about joint index and lighting on Android
-
- Closed
-
For Gerrit Dashboard: QTBUG-93883 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
401378,9 | Skinning : unlock the restriction of the maximum uniform size | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |