secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
211 stars 53 forks source link

glTF Mesh Open Regression #1873

Open aiaustin opened 4 months ago

aiaustin commented 4 months ago

Environment

Second Life Release 7.1.9.9620320242 (64bit) Release Notes

You are at 149.9, 144.9, 23.0 in Rumpus Room 2048 located at simhost-01129fe6e38889eb3.aditi SLURL: secondlife://Aditi/secondlife/Rumpus%20Room%202048/150/145/23 (global coordinates 36,501.9, 14,224.9, 23.0) PMFP 2024-06-25.9663125755 Release Notes

CPU: Intel(R) Xeon(R) CPU E5-1650 v2 @ 3.50GHz (3491.59 MHz) Memory: 32713 MB OS Version: Microsoft Windows 10 64-bit (Build 19045.4529) Graphics Card Vendor: NVIDIA Corporation Graphics Card: NVIDIA GeForce GTX 980/PCIe/SSE2

Windows Graphics Driver Version: 32.0.15.5612 OpenGL Version: 4.6.0 NVIDIA 556.12

Window size: 1171x772 Font Size Adjustment: 96pt UI Scaling: 1 Draw distance: 256m Bandwidth: 2400kbit/s LOD factor: 2 Render quality: 6 Texture memory: 4095MB Disk cache: Max size 1638.4 MB (99.3% used)

J2C Decoder Version: KDU v7.10.4 Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.23.1 / OpenAL Community / OpenAL Soft: OpenAL Soft Dullahan: 1.14.0.202310131404 CEF: 118.4.1+g3dd6078+chromium-118.0.5993.54 Chromium: 118.0.5993.54 LibVLC Version: 3.0.16 Voice Server Version: Vivox 4.10.0000.32327.5fc3fe7c.5942f08

Packets Lost: 11/25,972 (0.0%) June 28 2024 02:51:58

Description

Many of my glTF test meshes show issues in Atlasaurus (Second Life Release 7.1.9.9620320242). The issues are present in many meshes of various sizes from small to large. They include missing mesh parts, out of place and wrongly scaled or rotated mesh parts (see example Pisten Bully), single faces not displaying (front textured face of Blast wall), etc. The meshes display wrongly whether freshly opened onto a prim, or whether uploaded, saved to inventory and rezzed from there.

Two simple (full perm to allow for testing) examples illustrating the issues are located on the Beta grid at secondlife://Aditi/secondlife/Rumpus%20Room%202048/150/145/23

The glTF meshes all display fine in Blender 4.1.1, the Khronos glTF Sample Viewer and Windows 3D Viewer, and also in the current release viewer (with local preview fresh upload mode), and some earlier glTF development and test viewers with GLTF Upload capability up to around 20-June-2024. Example working viewers include:

Image as displayed in Atlasaurus Second Life Release 7.1.9.9620320242: 7 1 9 9620320242-Broken-glTF-Mesh-Display

Image as displayed correctly in earlier viewers: Working-glTF-Mesh-Display

Reproduction steps

  1. Go to secondlife://Aditi/secondlife/Rumpus%20Room%202048/150/145/23 (as at 27-Jun-2024)
  2. Observe glTF meshes are not displaying correctly. They are full perm so may be copied for testing.
  3. Blast wall, examine front face, which is missing.
  4. Pisten Bully - many parts missing, moved, rotated and scaled incorrectly.
aiaustin commented 3 months ago

Just a note that the glTF meshes are still broken in world in the recent Second Life Develop 7.1.9.9895347634. This occurs on even very simple glTF meshes (154KB .glb, 1 mesh part, 2812 triangles, 2 materials, no transparency).

aiaustin commented 3 months ago

Retested and issue still present in Atlasaurus RC - Second Life Release 7.1.9.9981869229.

Full perm examples that display incorrectly are still available on 23-Jul-2024 at secondlife://Aditi/secondlife/Rumpus%20Room%202048/150/145/23

An extra relatively simple NASA 3D Model of the Mars Ingenuity Helicopter also added. Full perm again to act as a test model. Only 2.7MB .glb, 11 mesh parts, 9K triangles. But it does not display correctly.

2024-07-23-NASA-Ingenuity-in-Atlasaurus

2024-07-23-NASA-Ingenuity-in-Khronos-glTf-Viewer

aiaustin commented 3 months ago

As at 9-Aug-2024, the glTF models works fine in the WebRTC RC (Second Life Release 7.1.9.10084807842 ) but not in Atlasaurus (Second Life Release 7.1.9.10220184061).

aiaustin commented 2 months ago

Update: 7.1.9.10325451220 - WebRTC Voice RC at 14-Aug-2024 is okay to use. But Atlasaurus 7.1.9.10326512121 at 13-Aug-2024 is broken.

I think that RunitaiLinden (Davep) over on the Discord channel said this was due to some limitations introduced in handling transforms (via the GPU) that he was exploring and a separate issue related to textured faces missing due to the handling of vertex normals.

If its useful, an earlier glTF Development viewer continues to work properly... including with glTF meshes save to inventory and rezzed back in world... Second Life Project Gltf Development 7.1.9.9491082776

aiaustin commented 2 months ago

Update 26-Aug-2024. Checked out Second Life Release 7.1.9.10515727195 - Atlasaurus (26-Aug-2024) and this issue is still present.