[x3d-public] X3D 4.0 specification problem: upVector field for TextureProjector, TextureProjectorParallel

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Sat Dec 7 20:21:08 PST 2024


While performing regression testing using X3D Examples Archive, found several problems related to the upVector field.

First, upVector is defined in X3D Architecture specification for TextureProjector node but not TextureProjectorParallel node.  However the corresponding figures illustrate that upVector is an integral part of each node's definition.

Second, the default value is "0 0 1" but this looks wrong (rotated confusingly), and a much-more intuitive value is "0 1 0" with y-axis up.  In other words, the default upVector direction ought to point upwards.  This is the default relationship is shown in both figures and the specification example for TextureProjector.

  *
X3D 4.0 Architecture, clause 42 Texture projection component
  *
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/textureProjection.html

  *
42.3.1 X3DTextureProjectorNode

  *
42.4.1 TextureProjector
  *
Figure 42.5 — Description of 3D perspective texture projection
  *
"The upVector describes the roll of the camera by saying which point is "up" in the camera's orientation. The default value of this field is (0 0 1)."
  *
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/textureProjection.html#TextureProjector

  *
42.4.2 TextureProjectorParallel
  *
Figure 42.4 —Description of 3D parallel texture projection
  *
https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/textureProjection.html#TextureProjectorParallel

Third, I am unable to find a working implementation for these nodes, though we have seen FreeWrl (at least) working in the past.

Recommended specification remedies:

  *
Include upVector field in TextureProjectorParallel node and shared node type X3DTextureProjectorNode
  *
Change default values to "0 1 0"
  *
Include an example for TextureProjectorParallel node, similar to TextureProjector node
  *
Fix erroneous figure labels so that they are properly numbered
  *
Update Mantis error tracker, various validation tools, X3D Tooltips, X3DJSAIL and X3DPSAIL x3d.py, etc.
  *
Encourage, hopefully ensure that multiple browser implementations are available.

Test scene:

  *
X3D Example Archives: Basic, X3D Specifications, Texture Projector Component Example
  *
https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/TextureProjectorComponentExampleIndex.html

Thanks in advance for all feedback on these corrections, plus any implementation reports.


all the best, Don

--

Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman at nps.edu

Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149

X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20241208/a43b8636/attachment.html>


More information about the x3d-public mailing list