[x3d-public] 3D graphics, vertex attributes Tangent index and vector
John Carlson
yottzumm at gmail.com
Fri May 16 22:32:15 PDT 2025
Joe,
X_ITE IFS:
https://create3000.github.io/x_ite/components/geometry3d/indexedfaceset/
Summary, only tangent field.
John
On Fri, May 16, 2025 at 8:59 PM Joe D Williams via x3d-public <
x3d-public at web3d.org> wrote:
> like for normals, is there a tangentPerVertex true/false where tangent
> value
>
> is associated with vertex or face?
>
> If tangentIndex null, is coordIndex used?
>
> If Tangent vector null tangents are generated after Normal vector?
>
>
>
> Thanks,
>
> Joe
>
>
>
>
>
>
>
> -----Original Message-----
> From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org
> >
> Sent: May 15, 2025 6:19 AM
> To: X3D <x3d-public at web3d.org>
> Cc: Holger Seelig <holger.seelig at yahoo.de>
> Subject: Re: [x3d-public] 3D graphics, vertex attributes Tangent index and
> vector
>
>
> There are also glTF tests for tangents:
>
> Geometry with tangent node:
>
> https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/NormalTangentMirrorTest/glTF/NormalTangentMirrorTest.gltf
>
> Geometry without tangent node (auto generated tangents using MikkTSpace
> algorithm):
>
> https://create3000.github.io/x_ite/laboratory/gltf-sample-viewer/?url=https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/NormalTangentTest/glTF/NormalTangentTest.gltf
>
> The reflection in all half spheres should look the same.
> Turn on IBL (Image Based Lighting).
>
> Best regards,
> Holger
>
> --
> Holger Seelig
> Leipzig, Germany
>
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
> https://patreon.com/X_ITE
>
>
> Am 15.05.2025 um 10:35 schrieb Holger Seelig via x3d-public <
> x3d-public at web3d.org>:
> All nodes which have a normal field also have a tangent field in X_ITE,
> because tangents are very important for PhysicalMaterial to render
> correctly. Because tangents always come in conjunction with normals,
> normalPerVertex field is also used for tangents.
>
> If there is no Tangent node, the MikkTSpace algorithm is used to generate
> tangent vectors, as need by the glTF specification.
>
> If there is a Tangent node and the vector field is empty, results are
> undefined.
>
> Tangent node:
> https://create3000.github.io/x_ite/components/rendering/tangent/
>
> IndexedFaceSet with tangent field:
>
> https://create3000.github.io/x_ite/components/geometry3d/indexedfaceset/#fields-tangent
>
> Best regards,
> Holger
>
> --
> Holger Seelig
> Leipzig, Germany
>
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
> https://patreon.com/X_ITE
>
>
> Am 15.05.2025 um 10:24 schrieb Michalis Kamburelis <
> michalis.kambi at gmail.com>:
> I don't know about Tangent in X_ITE...
>
> But in Castle Game Engine we have a similar extension -- Tangent node (
> https://castle-engine.io/x3d_implementation_rendering_extensions.php ).
> Looks like we developed it independently from X_ITE :) It certainly makes
> sense to have a node that carry this information, to have perfect
> rendering. (Tangents can be auto-calculated, but there are various details
> in the auto-calculation algorithm that various renderers may do a bit
> differently. When the 3D author used "baking" to make a normalmap texture,
> it's better to use exact same tangents as known by the 3D authoring tool.)
>
> At least for Castle Game Engine, the answer is: if the Tangent node is not
> present, but we need tangents (e.g. for bump mapping), then the tangent
> vectors are calculated to match the normal vectors. So there's no
> additional tangentPerVertex or tangentIndex, they would not make sense. By
> knowing the normal vectors, by know all we need to generate reasonable
> tangent vectors.
>
> See https://castle-engine.io/x3d_implementation_rendering_extensions.php
> for more details.
>
> Regards,
> Michalis
>
> czw., 15 maj 2025 o 07:43 John Carlson via x3d-public <
> x3d-public at web3d.org> napisał(a):
>
>> Note, it’s Tangent vector=… not Tangent point=…
>>
>> John
>>
>> On Thu, May 15, 2025 at 12:38 AM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> I’d ask Holger, cc’d
>>>
>>> I’ve not used Tangent, myself.
>>>
>>> X_ITE Supports up to Level 4, so I guess you’re proposing a new level 5
>>> for the Geometry 3D component?
>>>
>>> Look at X_ITE IFS:
>>>
>>> <IMG_0516.png>
>>>
>>> Maybe check Holger’s create3000 Library for examples?
>>>
>>> To retrieve examples, last time I tried:
>>>
>>> git clone https://github.com/create3000/Library
>>> Online at:
>>>
>>> https://github.com/create3000/Library
>>> Let’s get v2 Joe Kick out the door, check v2 finger joints, and make
>>> sure all joints have converted to v2.
>>>
>>> John
>>>
>>> On Wed, May 14, 2025 at 10:45 PM Joe D Williams <joedwil at earthlink.net>
>>> wrote:
>>>
>>>>
>>>> Main questions, in IFS Level5:
>>>> Is a default tangent generated if Tangent point="" field empty?
>>>> tangentPerVertex? assigned to vertex or face?
>>>> tangentIndex? If no tangentIndex is coordIndex used?
>>>>
>>>>
>>>> Thanks,
>>>> Joe
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: John Carlson <yottzumm at gmail.com>
>>>> Sent: May 14, 2025 3:00 PM
>>>> To: Extensible 3D (X3D) Graphics public discussion <
>>>> x3d-public at web3d.org>
>>>> Cc: Joe D Williams <joedwil at earthlink.net>
>>>> Subject: Re: [x3d-public] 3D graphics, vertex attributes
>>>>
>>>>
>>>> Joe,
>>>>
>>>> X_ITE has a tangent node:
>>>>
>>>> Tangent | X_ITE X3D Browser
>>>> <https://create3000.github.io/x_ite/components/rendering/tangent/>
>>>>
>>>> Enjoy!
>>>>
>>>> John
>>>>
>>>> On Wed, May 14, 2025 at 4:46 PM Joe D Williams via x3d-public <
>>>> x3d-public at web3d.org> wrote:
>>>>
>>>>> From this:
>>>>>
>>>>>
>>>>> https://docs.google.com/document/d/1hCetnGIkut_dyt4mwkDSTNiLTbrVg1jLo_EArE74DRg/edit?tab=t.0
>>>>>
>>>>>
>>>>> In 3D graphics, vertex attributes define per-vertex data necessary
>>>>> for rendering, animation, shading, and so on.
>>>>> These attributes include geometric properties such as
>>>>> position, normal, tangents, texture mapping information (UV
>>>>> coordinates),
>>>>> shading data (vertex colors), and
>>>>> deformation information (skinning weights and blend shapes).
>>>>>
>>>>>
>>>>> In this discussion of vertex attributes, the only one I don't recall
>>>>> seeing in X3D is tangent?
>>>>>
>>>>> Associated with this work:
>>>>>
>>>>> https://docs.google.com/spreadsheets/d/18d1qy4jx-d_kLsam-JQAzig23w7dTau0Moe7M32lVvk/edit?gid=0#gid=0
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Joe
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> x3d-public mailing list
>>>>> x3d-public at web3d.org
>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>
>>>>
>>>>
>>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250517/1538ecf7/attachment-0001.html>
More information about the x3d-public
mailing list