[x3d-public] Xj3D Extrusion improvements (bugfix of the decade!) with matching X3D-Edit updates

Don Brutzman brutzman at nps.edu
Sun Nov 19 13:24:41 PST 2017


Congratulations and big thanks to Dr. Sungmin Kwon who fixed challenging Extrusion anomalies in Xj3D v2.1, correcting not one but seven bugs in the open source.

Interesting slideset describing his analysis and corrections is now available online, along with demonstration screenshots.  Slideset is attached for the email archives since these techniques may be quite useful to other implementers as well.  Indeed since some of these bugs interact or occur only intermittently (such as incorrect ordering of matrix multiplications) the symptoms were often contradictory and corrections have eluded a number of people for a long time.

	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/Xj3DViewerExtrusionBugFix.pdf

Torus example from VRML Sourcebook attached. Note that closed spine not only results in proper mesh stitching, but also normal vectors are accounted for on both ends that share points so seam-rendering artifacts don't appear.
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/Figure15_12TorusXj3D.png

Results of Xj3D improvements are also reflected in scene thumbnails and viewpoint captures for all scenes in the X3D Example Archives.
	http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/index.html
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/viewpointSlideshow.html
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/_thumbnails/Figure15_12TorusWithAxesThumbnail.png
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion/_viewpoints/Figure15_12TorusWithAxes.x3d._VP_Torus.png

So here is a strong nominee for *X3D bugfix of the decade!*  8)

Steady work on Xj3D improvements continues.  Latest greatest is checked into SourceForge trunk, details at
	https://sourceforge.net/projects/xj3d
	https://savage.nps.edu/Savage/developers.html#Xj3D

Corresponding X3D-Edit updates have also occurred.  X3D-Edit is a free, open-source Extensible 3D (X3D) Graphics authoring tool for simple high-quality editing, authoring and validation of X3D scenes.  Xj3D viewer is embedded, with workflow and launch support included for numerous X3D browsers and X3D-capable authoring tools.
	https://savage.nps.edu/X3D-Edit

Download and auto-update instructions:
       https://savage.nps.edu/X3D-Edit/#Downloads

X3D-Edit includes improvements to the Extrusion editing pane that show whether crossSection and spine are open or closed, along with edit buttons to open/close either.
	https://savage.nps.edu/X3D-Edit/images/ExtrusionAttributesPanel.png
	https://savage.nps.edu/X3D-Edit/images/ExtrusionCrossSectionPanel.png
	https://savage.nps.edu/X3D-Edit/images/ExtrusionSpineScalePanel.png
	https://savage.nps.edu/X3D-Edit/images/ExtrusionOrientationsPanel.png

An embedded comment within the edited Extrusion can be helpful for keeping track of the declared geometry's computed open/closed properties. Example:

	<Extrusion crossSection='-3.5 -1 -2.1 2.9 2.2 2.9 3.6 -1 0 -3.5 -3.5 -1' scale='1 1 1 1 0.2 0.2' spine='0 0 0 0 1 0 0 1.6 0'>
	  <!-- spine is open, crossSection is closed -->
	</Extrusion>

Some curiosities about Extrusion remain, we are further considering "edge cases" presented originally by Seva, see scene links in exemplar scene.

	http://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ExtrusionEdgeCases.x3d
	http://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ExtrusionEdgeCasesIndex.html
	http://web3d.org/pipermail/x3d-public_web3d.org/2016-January/004184.html
	www.web3d.org/member-only/mantis/view.php?id=923

Additional X3D-Edit improvements to be thankful for:
-  improved cursor/caret handling when editing scenes (hooray, finally) and
- consistent Viewpoint Rotation Calculator interfaces for Viewpoint, OrthoViewpoint and GeoViewpoint.  Authors are provided a similar option to save lookAt point as an embedded comment within the Viewpoint (also reloaded at relaunch).

	https://savage.nps.edu/X3D-Edit/images/ViewpointCalculator.png
	https://savage.nps.edu/X3D-Edit/images/ViewpointCalculatorComposed.png

	<Viewpoint DEF='ViewUpClose' centerOfRotation='0 -1 0' description='Hello world!' position='0 -1 7'>
	  <!-- local lookat point: 0 -1 0 -->
	</Viewpoint>

The latest validation improvements for X3D XML Schema and Schematron rules are also added to the X3D Validator, both internal to X3D-Edit (checkmark button in author workflow) and online.
       https://savage.nps.edu/X3dValidator

Authors can learn more about Extrusion node at

	http://www.web3d.org/x3d/content/X3dTooltips.html#Extrusion
	http://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter15Extrusion
	http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons
	http://x3dgraphics.com/slidesets/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons.pdf
	https://www.movesinstitute.org/Video/Courses/X3dForWebAuthors/X3dForWebAuthorsVideo.html#6
	https://www.youtube.com/watch?v=OezdubjTbqE&list=PLuSIsM-86silXbPFOJ43Qgn47Pw6RufeB&index=6

So, lots of excellent progress.  Again thanks Sungmin for this important work.

Have fun with X3D Extrusion!

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 http://faculty.nps.edu/brutzman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Figure15_12TorusXj3D.png
Type: image/png
Size: 81878 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20171119/d721b8d3/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xj3DViewerExtrusionBugFix.pdf
Type: application/pdf
Size: 660271 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20171119/d721b8d3/attachment-0001.pdf>


More information about the x3d-public mailing list