KhronosGroup / KhronosGroup/glTF

Clarify doubleSided normal handling

Open
#2,284 3 comments 0 reactions 1 assignee Claimed by @lexaknyazev View on GitHub
PBR
Dominant language
HTML
Stars
7.8k
Forks
1.2k
Avg merge
17h 26m
Merged PRs (30d)
5

Description

In the current GLTF spec under the double sided (https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#double-sided), it says:

> The back-face MUST have its normals reversed before the lighting equation is evaluated.

Perhaps we can clarify the language here or add implementation details? Based on popular implementations (glTF viewer, threejs, etc) I can see that most of the time we just negate the normals when they aren't front facing. But just reading it, it isn't super clear what "reversing" the normals means. Could easily be interpreted as mirroring the normals about the face. I guess usually hear about normals being "inverted" rather than "reversed".

Maybe this?

> The back-face MUST have its normals inverted before the lighting equation is evaluated.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.