[x3d-public] X3D 4.0 specification problem: upVector field for TextureProjector, TextureProjectorParallel
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Mon Dec 9 11:39:27 PST 2024
OK certainly... No need to guess, that information was in the message:
"Follow-on work to update validation tools and demonstration examples will continue once consensus is confirmed on the precise node syntax and semantics for TextureProjector and TextureProjectorParallel."
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: John Carlson <yottzumm at gmail.com>
Sent: Monday, December 9, 2024 9:43 AM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
Cc: Holger Seelig <holger.seelig at yahoo.de>; 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
Thanks, Don.
Let us know if X3DJSAIL and X3DUOM are ready for X3D 4.1. I'm guessing there will be new versions of the files?
Thanks,
John
On Mon, Dec 9, 2024 at 11:39 AM Brutzman, Donald (Don) (CIV) via x3d-public <x3d-public at web3d.org<mailto:x3d-public at web3d.org>> wrote:
(corrected/completed version)
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 Web3D 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
*
https://github.com/Web3DConsortium/X3D/blob/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.1/ISO-IEC19775-1v4.1-CD/Part01/components/textureProjection.html
Also happy to announce that committee-draft X3D 4.1 (with initial component revisions) is visible online for best encouragement of interoperable adoption by implementers.
*
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD
*
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/textureProjection.html
Further improvements always welcome. Dick and I will carefully review these changes in our next X3D specification editors meeting.
Follow-on work to update validation tools and demonstration examples will continue once consensus is confirmed on the precise node syntax and semantics for TextureProjector and TextureProjectorParallel.
Web3D Consortium membership certainly has value. Am proud to recommend membership to everyone who wants to support 3D graphics on the Web.
*
Join the Web3D Consortium
*
https://www.web3d.org/membership/join
Have fun with X3D! 🙂
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
________________________________
From: Holger Seelig <holger.seelig at yahoo.de<mailto:holger.seelig at yahoo.de>>
Sent: Sunday, December 8, 2024 1:12 AM
To: X3D <x3d-public at web3d.org<mailto:x3d-public at web3d.org>>
Cc: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu<mailto:brutzman at nps.edu>>; khyoo at chungbuk.ac.kr<mailto:khyoo at chungbuk.ac.kr> <khyoo at chungbuk.ac.kr<mailto:khyoo at chungbuk.ac.kr>>; Myeong Won Lee <myeongwonlee at gmail.com<mailto: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<mailto: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<mailto: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
_______________________________________________
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/173470a9/attachment-0001.html>
More information about the x3d-public
mailing list