Skip to content

Clarify ground plane projection & fix up axis convention in constant LOD#99

Merged
weegeekps merged 3 commits into
vendor-extensionsfrom
eringram/CLOD-clarification
Jul 7, 2026
Merged

Clarify ground plane projection & fix up axis convention in constant LOD#99
weegeekps merged 3 commits into
vendor-extensionsfrom
eringram/CLOD-clarification

Conversation

@eringram

Copy link
Copy Markdown

Leaving this draft if we need some discussion first.

When trying to finish up the CesiumJS implementation of EXT_textureInfo_constant_lod, I noticed some areas where the spec could be improved.

  1. Clarify that constant LOD is designed for horizontal (ground-plane-parallel) surfaces
    The spec formulas project texture coordinates onto a 2D plane using only two components of the world position. This means the technique is designed for surfaces approximately parallel to the ground plane, and non-horizontal surfaces may exhibit artifacts such as stretching. This was only implied by the formulas, but I added sentences in both the Overview and Formulas sections to make it explicit so implementers understand the intended use case better.

  2. Change XY axes to XZ to match glTF's Y-up coordinate system
    The original formulas used worldPosition.xy, which projects onto the XY plane. This is correct for Z-up coordinate systems like iTwin.js (which I referenced while writing the spec) and CesiumJS, but glTF uses a Y-up convention where the horizontal ground plane is XZ. I updated the formulas and all related references (offset, repetitions, prose descriptions) from XY to XZ.

@weegeekps @markschlosseratbentley let me know what you think

@markschlosseratbentley

Copy link
Copy Markdown

@eringram This all makes sense to me.

@markschlosseratbentley

Copy link
Copy Markdown

@weegeekps any thoughts?

@weegeekps

Copy link
Copy Markdown
Collaborator

@eringram and I have been talking about this some. If we want this to be ratifiable later, how we fix this is going to be pretty important. We'll be meeting next week to talk about how we can do this in a means that is independent of the orientation of the plane.

Comment thread extensions/2.0/Vendor/EXT_textureInfo_constant_lod/README.md Outdated
eringram and others added 2 commits July 6, 2026 12:05

@weegeekps weegeekps left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are still some open questions around making this extension more generalized, so it isn't limited to planes that are orthogonal to the XZ coordinate plane. @eringram and I will discuss this with @pmconne when he is back in August.

@weegeekps weegeekps merged commit 6595f81 into vendor-extensions Jul 7, 2026
3 checks passed
@weegeekps weegeekps deleted the eringram/CLOD-clarification branch July 7, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants