[x3d-public] X3D meeting minutes 20 July: near/far clipping, Python SAI, medical, ISO, SIGGRAPH

Don Brutzman brutzman at nps.edu
Fri Jul 20 10:07:47 PDT 2018

Attendees: John Carlson, Anita Havele, Vince Marchetti, Nicholas Polys, Dick Puk, Don Brutzman


1. *Near and far clipping planes*. Initial discussion of a new possibility.

Interesting review of OrthoViewpoint by Design Printing and Scanning Working Group in reviewing/resolving:

	Clarify ambiguous functional specification for OrthoViewpoint

Relevant reference from OpenGL:

	glOrtho — multiply the current matrix with an orthographic matrix

A long-term point of awkwardness in X3D (dating all the way back to VRML97) is author setting of near and far clipping planes.  These fields are exposed via NavigationInfo, which is bound independently from Viewpoint/OrthoViewpoint/GeoViewpoint.  Thus it is difficult to "get" current NavInfo to modify values.  Further, the near clipping plane is first value of a triple, making any modification require elaborate node-discovery and then elabobrate scripting.

	X3D Tooltips: NavigationInfo avatarSize,visibilityLimit

Here is a thought: if we add something like

X3DViewpointNode : X3DBindableNode {

    SFVec3f [in,out] nearClippingPlane -1 with range -1, [0,infinity]
    SFVec3f [in,out]  farClippingPlane -1 with range -1, [0,infinity]

then authors could easily/optionally provide context-sensitive clipping as part of any viewpoint.  Backwards compatibility not a problem: illegal sentinel value of -1 for range from viewer indicates that current NavigationInfo settings prevail.

This is very important in geospatial models with terrain, where anti-aliasing is a common problem.  From prior tooltips:

	Warning: important design thumbrule is to keep (visibilityLimit / avatarSize.CollisionDistance) < 10,000
	to avoid aliasing artifacts (i.e. polygon "tearing").

Thanks for discussion today, comments welcome.  Expect a future Mantis issue here for further consideration.


2. *Python language binding*. Thanks to John Carlson for his extensive work and for joining us today.

a. First we created a new wiki page similar to

	X3D JSON Encoding

If you go to the top of the following page

	Web3D Public Wiki

then scroll to the very bottom, you see a link

	Create New Page

which says
Do a search for an article page that doesn't exist.

Click on the "this exact title" link at the top of the page.

You will see a big white space to type in it.

Click the "Save page" button... and voila. You've created a new article page!

So we did.  There is now a new page

	X3D Python Language Binding

Initial contents that our discussion assembled are an impressive first pass:

> Motivation
> Why:
>     multiple language bindings provide equivalent implementations of X3D Scene Access Interface (SAI) Specification, which in turn accesses the X3D Architecture Specification
>     Python is widely used, so many tools and applications might then easily create/use/produce X3D
>     We are not afraid of programming languages that depend on whitespace!
> The X3D Specification Relationships diagram shows how the various programming-language bindings and file encodings are related.
> Resources
>     Python script interfaces
>         H3D
>         Blender has an independent interface
>         NIH has written a series of Python scripts that exercise Blender
>         pyOCC python interface to Open Cascasde geometry kernel
> John Carlson has produced
>     https://github.com/coderextreme/pythonSAI
> Deliverables
>     Draft 19777-6 specification added in GitHub
>         Follow examples of other X3D language bindings
>         Reach proof-of-capability initial draft
>         New Work Item Proposal (NWIP) by Web3D Consortium for ISO
>     Example scenes
>         Test scenes to demonstrate design patterns
>     Implementations
>         Conversion stylesheet, X3dToPython.xslt
>         PyJnius cross-compilation conversion of X3DJSAIL java classes
>         Possibly another library, X3DPSAIL or X3DPYSAIL perhaps?
>     Validation by compilation
>         are special tests needed, written in Python, to test program validity?
>         Compatible with X3D Unified Object Model (X3DUOM)
>     Plan of Action Milestones (POAM)
> To Be Determined:
>     Is it possible to run Python scripts in a Web browser?
>     Python support for DOM?
>     Masaki Aono produced some speculative code a few years ago

(Lots) more to follow.  We will be having fun with X3D Python!


3. *Medical*

DICOM discussion on medical mailing list.  Still working to get X3D added with STL.

Vince and Nicholas and Anita are tracking/leading this.  Dialog is on the medical working group list.

Working group leadership opportunities are available for Web3D Consortium members.


Many crucial partnerships emerging, including HL7 and coordination with HAnim for medical records.


4.ISO Meeting Preparations.

Dick and Don will be attending annual meeting of our ISO Standards Committee (SC) 14 in Toulouse France, 6-10 August 2018.

a. HAnim Draft International Specification (DIS) parts 1 and 2, including Motion Animation.
b.X3D topics include annual summary, recent NWIPs for C C++ C#, planned work for the coming year in X3Dv4, JSON Python and Java.
c. Collaboration of Design Printing Scanning Working Group in SC4 STEP with SC24 in Joint Working Group on CAD Presentation.
d. InterestingISO efforts for 3D Printing and Scanning interoperability, Smart Cities.
e. Review of Web3D Consortium specification process and Class A Liaison relationship with ISO.


5. SIGGRAPH Preparations.

Anita Nicholas and Don will be attending SIGGRAPH in Vancouver Canada, 12-16 August.


We will have several Birds of a Feather (BoF) sessions.

* ACM SIGGRAPH Cartographic Visualization (Carto) Birds of a Feather
   (Polys 3D Blacksburg Urban Planning, Brutzman SPIDERS3D)
   Monday, 13 August 2018, 12pm - 1:30pm
   ACM SIGGRAPH Theater, West Building, Room 102, Vancouver Convention Centre

* Web3D Korea Chapter Standardization Meeting
   Monday, 13 August 2018, 3pm - 5pm
   Gallery Board Room, Pan Pacific Hotel

* Design Printing and Scanning: Web3D Makers Making More!
   Wednesday, 15 August 2018, 11am - 12:30pm
   West Building, Room 116-117, Vancouver Convention Centre

* WebVR Evolution for a Larger Web
   Wednesday, 15 August 201812:30pm - 2pm
   West Building, Room 116-117, Vancouver Convention Centre

* Immersive Media BOF (Nicholas presenting multiple VT applications)
   Wednesday, 15 August 2018, 11am - 12pm
   East Building, Room 12, Vancouver Convention Centre


6. Meeting plans.

Monday 23 July: Communications Team updating public messaging.

Friday 27 July: second pass on Python language binding, technical issues review.

Friday 3 August: no meeting (Don and Dick en route).

Friday 10 August: no meeting (ISO meeting conclusion).

Friday 17 August: post-SIGGRAPH initial discussion, list of new technical issues from conference.

As ever, member teleconference information is at

	Web3D Teleconference Information

If someone needs to join as an invited expert for some call(s), please just ask to get the connection information.

If you want to join Web3D Consortium and support these important efforts, please do.  You can have excellent influence in support of your interests.

	Join the Web3D Consortium

Comments and feedback are always welcome, this is how we all progress together.

Thanks everyone for another superb meeting today.  8)

Have fun with X3D!

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

More information about the x3d-public mailing list