[x3d-public] Specification review progress: PNG3, Tangent node, HAnim weekly progress

John Carlson yottzumm at gmail.com
Sat Jul 5 22:29:20 PDT 2025


Now….

How do we import/export a Tangent node in Blender?   Can we create a .blend
file example for it so I can try exporting, then importing?  What are the
Blender API data structures and methods?

I will probably look at glTF examples and intuit.

John

On Sat, Jul 5, 2025 at 8:23 AM Michalis Kamburelis <michalis.kambi at gmail.com>
wrote:

> John,
>
> Thank you, it's cool, every precise question helps me to explain it better
> :)
>
> To answer that:
>
> The tangent vectors (i.e., Tangent node contents) only change the way
> "final normal vector at given surface point" (designated by N in the
> lighting equations) is calculated. That's how they influence the
> calculation done by lighting equations, and thus the final rendered
> color. They do not interact with colors or geometry in any other way.
>
> And the way they change this N is that tangent vectors (together with
> bitangent and per-face/per-vertex normals) define the "tangent space"
> in which the bump mapping (which is the moment where we take
> XxxMaterial.normalTexture into account) is calculated.
>
> There are some resources on the web explaining this, like:
> - https://fabiensanglard.net/bumpMapping/
> - Wikipedia: https://en.wikipedia.org/wiki/Bump_mapping ,
> https://en.wikipedia.org/wiki/Normal_mapping
> - hm, ok, and much more, searching for terms like "bump mappping" or
> "normal mapping" or "bump mapping 3d opengl" yields a lot of results
> :)
>
> ( One needs some disclaimer when reading them though:
>
> - There are various ways to define/deal with "handedness" of the
> coordinate system. X3D spec and glTF spec match in how they handle it,
> so the world 3D coordinate space is right-handed, and the "tangent
> space" handedness is determined by the W component of 4D tangents.
> Various articles on the web don't deal with this detail, or they deal
> with it differently.
>
> - The terminology distinction "bump mapping" vs "normal mapping" is
> honored/ignored differently in articles. (Admittedly, in my own
> writing sometimes too :) ) To be precise, "bump mapping" is more
> general idea, and "normal mapping" is a special case of it (when you
> do it using normal maps), and "normal mapping in tangent space" is
> even more special case of it. But...various resources simplify these
> things, because in practice "normal mapping in tangent space" is the
> most common way to do bump mapping in real-time 3D graphics (now).
> )
>
> I hope any of this helps you and Don and anyone else to make sense of
> it :) Feel free to incorporate any of this in spec prose.
>
> Regards,
> Michalis
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250706/c958434a/attachment.html>


More information about the x3d-public mailing list