Skip to content

glTF Mesh upload: inverted Y axis in UVs #5507

@Geenz

Description

@Geenz

Environment

Second Life Release 26.1.0.22641522367 (64bit)
Release Notes

You are at 114.3, 132.0, 20.9 in Avalon Aviary located at simhost-0caa2e4080ef1beab.agni
SLURL: https://maps.secondlife.com/secondlife/Avalon%20Aviary/114/132/21
(global coordinates 252786.0, 288132.0, 20.9)
Second Life Preflight 2026-03-04.22660319648
Release Notes

CPU: Apple M4 Max (2400 MHz)
Memory: 49152 MB
OS Version: macOS 26.3.0 Darwin 25.3.0 Darwin Kernel Version 25.3.0: Thu Jan 22 21:54:32 PST 2026; root:xnu-12377.80.0.501.1~2/RELEASE_ARM64_T6041 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M4 Max

OpenGL Version: 4.1 Metal - 90.5

Window size: 1980x1120
Font Size Adjustment: 96pt
UI Scaling: 1
Draw distance: 128m
Bandwidth: 3000kbit/s
LOD factor: 1.375
Render quality: 3
Texture memory: 38338MB
Disk cache: Max size 2150.4 MB (100.0% used)
HiDPI display mode:

J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway

Packets Lost: 21/3366 (0.6%)
March 07 2026 14:53:55

Description

When uploading glTF mesh files, the Y axis on UVs get inverted causing textures to be flipped upside down. See screenshot of expected vs. actual.

Image

The specific asset is the "Water Bottle" asset taken from the glTF example asset repo: https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/WaterBottle/glTF

Reproduction steps

  1. Upload a glTF file - specific configuration in the model import dialog doesn't matter.
  2. Rez the object
  3. Upload its accompanying material into your inventory
  4. Drag and drop the material onto the object
  5. Verify that the UVs are flipped or not by inspecting the mesh and comparing it to something like the glTF sample viewer or blender. Really any glTF viewer will do.


This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️‍♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #5507 either in the PR description or in a PR's comment.

🪙 Also, everyone can tip any user commenting /tip 20 @Geenz (replace 20 with the amount, and @Geenz with the user to tip).

📖 If you want to learn more, check out our documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions