[x3d-public] alphaMode Tangent example, AlphaBlendModeTest.x3d
Don Brutzman
don.brutzman at gmail.com
Fri Jan 16 18:11:05 PST 2026
p.s. I tracked down Appearance.alphaMode, apologies had forgotten that we
indeed added it to X3D 4.0.
- X3D Architecture version 4.0, clause 12 Shape component, 12.4.2
Appearance
-
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#Appearance
-
https://www.web3d.org/x3d/tooltips/X3dTooltips.html#Appearance.alphaMode
Appearance : X3DAppearanceNode {
> SFNode [in,out] acousticProperties NULL [AcousticProperties] SFFloat [in,out] alphaCutoff 0.5 [0,1]
> SFString [in,out] alphaMode "AUTO" ["AUTO", "OPAQUE", "MASK", "BLEND"]
> SFNode [in,out] backMaterial NULL [X3DOneSidedMaterialNode]
> SFNode [in,out] fillProperties NULL [FillProperties]
> SFNode [in,out] lineProperties NULL [LineProperties]
> SFNode [in,out] material NULL [X3DMaterialNode]
> SFNode [in,out] metadata NULL [X3DMetadataObject]
> SFNode [in,out] pointProperties NULL [PointProperties]
> MFNode [in,out] shaders [] [X3DShaderNode]
> SFNode [in,out] texture NULL [X3DTextureNode]
> SFNode [in,out] textureTransform NULL [X3DTextureTransformNode]
> }
>
> and we have an example:
- X3D Example Archives: X3D4AM, X3D for Advanced Modeling, Gltf Sample
Models, Alpha Blend Mode Test
- This model tests the various alpha modes available in glTF 2.0
rendering. There are three settings for alphaMode: "OPAQUE" (the default),
"BLEND", and "MASK". Of these, "MASK" takes an additional alphaCutoff value
that modifies it.
-
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTestIndex.html
Interestingly, our 2024 version had Tangent nodes included and commented
out... I have restored them and updated the model to X3D version 4.1. Also
applied DEF/USE on various image textures. Also handled flipVertically by
inserting One of the tangent nodes has a problem. from latest draft
X3D-Edit Validator:
Performing X3D Schematron check...
> X3D version 4.1 began active development by Web3D Consortium for ISO in
> 2025.[/X3D, diagnostic]
> Based on file name, AlphaBlendModeTest.x3d is considered a test model
> supporting X3D Quality Assurance (QA).
>
> https://www.web3d.org/x3d/content/examples/X3dResources.html#QualityAssurance
> [/X3D/head, diagnostic]
> <meta name='warning' content='removed gravityTransform=false since this
> construc is not valid X3D4. several converters not yet supporting Tangent
> node properly, perform QA checks for details.'/> [/X3D/head/meta[6],
> diagnostic]
> <Tangent DEF='TodoFigureOutMissingValue'/> vector array has 6.75 4-tuples,
> likely has incorrect number of values or missing whitespace
> [/X3D/Scene/Transform[1]/Group/Shape/IndexedTriangleSet/Tangent, warning]
>
> --------- X3D Validator checks complete for AlphaBlendModeTest.x3d
> ---------
>
X_ITE looks good, pretty close to the reference image at
-
https://github.com/KhronosGroup/glTF-Sample-Models/tree/main/2.0/AlphaBlendModeTest
Castle is mostly rendering correctly but has unhappy textures with
the broken Tangent node, reporting
2 warnings:
> VRML/X3D: Error when reading field "vector" value: Error at line 1 column
> 360: Expected float number, got end of stream
> X3D: Invalid number of items in an attribute array for shape
> "Bed/BedMesh//IndexedTriangleSet": Not enough items in tangents: 54, but at
> least 72 required
> Scene URL: "file:///C:/x3d-code/
> www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.x3d
> ".
> Use "File->View Warnings" menu to view these warnings again.
>
Model now updated online. If someone can figure out the missing Tangent
vector values from the original glTF, that might fix the remaining gaps...
- X3D Model Documentation AlphaBlendModeTest.x3d (X3dToXhtml listing)
<https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.html#TodoFigureOutMissingValue>
-
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AlphaBlendModeTest.html#TodoFigureOutMissingValue
- <Tangent DEF='TodoFigureOutMissingValue' vector='0.999847650527954
-0.0174568109214306 0 0.999847650527954 -0.0174568109214306 0
0.999847650527954 -0.0174568109214306 0 0.999847650527954
-0.0174568109214306 0 0.999847650527954 -0.0174568109214306 0
0.999847650527954 -0.0174568109214306 0 0.999847650527954
-0.0174567885696888 0 0.999847650527954 -0.0174567885696888 0
0.999847650527954 -0.0174567885696888 0'/>
Looking at things like this is a pretty good way to learn how things work.
Have fun with X3D! 🤔 👍
all the best, Don
--
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting https://RelativeMotion.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260116/f0c1244c/attachment.html>
More information about the x3d-public
mailing list