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

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Mon Dec 9 09:29:11 PST 2024


Hi Holger - great to hear of your interest and efforts, thank you.

Am thinking the default upVector ought to point in the "up" direction expected by users.

  *
Wikipedia: Principle of least astonishment
  *
https://en.wikipedia.org/wiki/Principle_of_least_astonishment

The following member-only resources for X3D 4.1 have been updated to track this issue.

  *
Mantis 1481: upVector field for TextureProjector, TextureProjectorParallel nodes
  *
https://mantis.web3d.org/view.php?id=1481

  *
Github version control

Also happy to announce that draft X3D 4.1


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



________________________________
From: Holger Seelig <holger.seelig at yahoo.de>
Sent: Sunday, December 8, 2024 1:12 AM
To: X3D <x3d-public at web3d.org>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; khyoo at chungbuk.ac.kr <khyoo at chungbuk.ac.kr>; Myeong Won Lee <myeongwonlee at gmail.com>
Subject: Re: [x3d-public] X3D 4.0 specification problem: upVector field for TextureProjector, TextureProjectorParallel

That is very good news. I will update X_ITE accordingly.

Maybe now is also the time to change the *direction* vector to (-1 -1 -1) on the example page https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/TextureProjectorComponentExampleIndex.html, then the projector would point exactly into the corner of the model.

Best regards,
Holger

--
Holger Seelig
Leipzig, Germany

holger.seelig at yahoo.de
https://create3000.github.io/x_ite/

Am 08.12.2024 um 05:21 schrieb Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public at web3d.org>:

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<mailto: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



_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto: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/20241209/378924ec/attachment-0001.html>


More information about the x3d-public mailing list