[x3d-public] X3D minutes 4 DEC 2020: resolving X3D4 endgame issues

John Carlson yottzumm at gmail.com
Sat Dec 5 11:23:51 PST 2020


When I think of light intensities beyond the [0,1] range, I think of High
Dynamic Range (HDR) as has been popularized inside NVidia’s 9.5x SDK, Paul
Debevec’s HDRShop, and Three.js.   I believe that HDR is done by taking
photos at different f-stops or exposures and combining them.

While I am not that familiar with mechanics, I am impressed with results!

In my attempts to render rhodonea,  you can see some pretty marvelous
examples on my website, https://coderextreme.net

If one can achieve similar effects in X3D rendering, that would be great!
The suggestions of multiple light solution and extreme intensity both sound
like adequate solutions.  But perhaps a third solution using cube maps
would work?

John

On Sat, Dec 5, 2020 at 11:49 AM Don Brutzman <brutzman at nps.edu> wrote:

> Hi Michalis.
>
> For X3DLightNode /intensity/ field, the wording about "nominal lighting
> intensity" is trying to express "regular practice for light intensity" i.e.
> our usual authoring expectations, which remain unchanged.
>
> The point is that composability of X3D scenes has always assumed
> consistent use of lights.  This is not a mathematical issue.
>
> If everyone uses light intensity [0,1] as we have for oh-so-many years,
> things seem to work satisfactorily when X3D models and scenes are composed
> together.
>
> Potential problems:
>
> a. If someone decides "hey my models are very important so my lights will
> have intensity of 1000" then that has bad impact when loaded with other
> scenes.
>
> b. When someone's exporter/editor drops a decimal point on light
> intensity, it goes undetected by preprocessor validation and unflagged at
> run time, with the same bad impact when loaded with other scenes.
>
> c. When some other tool performs a "save as X3D" operation, they have no
> indication that their custom light conventions might need adjustment.
>
> d. Presumably if someone loads a glTF model with really bright lights, the
> same composition problems occur due to mismatched lighting schemes.
>
> Quality thus suffers from inconsistent practice, and such a lack of
> lighting regularity might significantly degrade X3D model re-use overall.
>
> Meanwhile, it has been noted in the working group teleconferences that
> current X3D specification already allows definitions of higher intensity
> for special effects, for example by putting multiple coincident PointLight
> nodes at the same location.
>
> Further, if there has been a use case that makes extra-high-intensity
> lights of practical value, it hasn't been communicated or shared yet.
> Please advise if you have one.
>
> Personally I think it is a bad idea to change this limit, might agree if
> the words can strongly express regular practice so that norms remain
> understood.
>
> BTW, my nomination as first law of engineering: "if it ain't broke, don't
> fix it."  We have 23 years of successful practice preceding this recent
> proposed change.
>
> Perhaps better words that the initial attempt below can express this
> expectation for composition.
>
> ... Or perhaps "discretion is the better part of valor" and we should not
> let our mathematical creativity jeopardize what is already working well,
> i.e. /intensity/ range [0,1] as ever.
>
> Absent a use case other than "gee whiz granddad, everybody else can do it"
> - this change is not yet sufficiently justified for inclusion in X3D4.
>
> Thanks for continuing to share your opinions on this important matter.
>
>
> On 12/4/2020 12:59 PM, Michalis Kamburelis wrote:
> >
> >
> > As for the "phrasing of intensity values > 1": I admit I don't
> > understand what this text is trying to say.
> >
> > - "Nominal lighting intensity and ambientIntensity values are
> > typically limited to a range [0,1] for consistent composability of
> > scenes."
> >
> > - "Consider maintaining nominal upper limit 1"
> >
> > What is a "nominal lighting intensity"? What is a "nominal upper limit"?
>
> rationale above.
>
> > The text is contradictory, basically claiming that values > 1.0 is
> > absolutely OK, but at the same time suggesting to have them <= 1.0.
>
> No worries, in the minutes you are looking at meeting notes for a possible
> draft revision...  Sorry if there was an omission or error.  We are trying
> to make an informed decision, so rest assured that final prose will match
> final specified bounds in X3D4 specification, validation tools, X3DUOM,
> tooltips, test cases, etc.
>
> > As I explained in an earlier thread, I fail to see the reason to treat
> > values of intensity > 1.0 in any way special. They go through the same
> > equations. Browsers practically do not have to do anything to support
> > them. The values > 1.0 also do not cause any additional problems
> > (because final colors could be > 1.0 anyway, even in X3D 3). According
> > to physical interpretation (given in the Lighting component, for
> > physical lighting model) there's also no reason to limit them to 1.0,
> > so authoring tools should not limit them either (Blender doesn't have
> > any limit on light power).
>
> rationale above.
>
> of note is that our use cases for any arbitrary sharable model on Web are
> broader than Blender, which provides an excellent authoring environment for
> authors deliberately putting their models together.
>
> > Note that there's no reason to mix this with ambientIntensity. This
> > one can stay, as in X3D 3, limited to [0,1]. It has no correct
> > physical interpretation anyway, it's just a multiplier for material's
> > ambient.
>
> Very good.  Thanks for feedback that X3DLightNode /ambientIntensity/ field
> can remain with [0,1] constraints, we weren't sure about that on the past
> two conference calls.  Agreed, no change.
>
> > Regards,
> > Michalis
>
> p.s. am happy to discuss if that helps, please feel free to call.  we need
> to lock this down by next Friday.
>
> > pt., 4 gru 2020 o 19:42 Don Brutzman <brutzman at nps.edu> napisał(a):
> >>
> >> Attendees: Vince Marchetti, Dick Puk, Don Brutzman
> >>
> >> Big agenda but milestone deadline is looming and all issues are
> familiar.  Thanks for all advance meeting preparation, we hope to proceed
> rapidly.
> >>
> >> We now meet one hour later than before:  09-1000 Pacific time.
> >>
> >> [0.1] Web3D Teleconference Information
> >>          https://www.web3d.org/member/teleconference-information
> >>
> >>> Please use the following link for all Web3D Consortium Meetings.
> >>>
> >>> Join URL:
> https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09
> >>
> >> Prior minutes:
> >>
> >> [0.2] [x3d-public] X3D working group minutes: scheduling, conference
> quicklook, specification work planning, X3D4 finalization
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-November/014002.html
> >>
> >> ---
> >>
> >> 1. X3D4 topics
> >>
> >> [1.0] X3D4
> >>          https://www.web3D.org/x3d4
> >>
> >> Changes to X3D4 specification on members-only github are also being
> refreshed daily at
> >>
> >> [1.1] X3D4 Working Draft 3
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/
> >>
> >> Corresponding pristine text in preparation for Web3D Consortium member
> ballot is currently being autogenerated along with a log of both
> corrections and remaining issues.
> >>
> >> ---
> >>
> >> a. MIDI 2.0 and Web Midi accepted. Audio and sound changes complete,
> checked in.
> >>
> >> [2] [x3d-public] X3D4 Sound Component and MIDI 2.0 review: accepted for
> ballot
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-December/014188.html
> >>
> >> Many thanks for many reviews and multiple endorsements.
> >>
> >> ---
> >>
> >> b. Continued review and editing of prose for clarity in Lighting and
> Shape components, with focus on glTF support.
> >>
> >> [3] Various comments reading X3Dv4 current working draft (WD3 in GitHub
> repository)
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-December/014189.html
> >>
> >> No problems noted but more editing work needed.  Michalis has the baton
> for some technical clarifications, then Dick and Don will continue working
> on prose phrasing to meet ISO editorial conventions.
> >>
> >> *** TODO
> >>
> >> Note phrasing of intensity values > 1:
> >> =====================
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/lighting.html
> >>
> >> 17.3.1 X3DLightNode
> >> X3DLightNode : X3DChildNode {
> >>
> >>     SFFloat [in,out] ambientIntensity 1     [0,1]
> >> or
> >>     SFFloat [in,out] ambientIntensity 1     [0,∞] # Consider
> maintaining nominal upper limit 1
> >>
> >>     SFFloat [in,out] intensity        1     [0,1]
> >> or
> >>     SFFloat [in,out] intensity        1     [0,∞] # Consider
> maintaining nominal upper limit 1
> >>
> >>     SFColor [in,out] color            1 1 1 [0,1]
> >>     SFBool  [in,out] global           FALSE
> >>
> >> Nominal lighting intensity and ambientIntensity values are typically
> limited to a range [0,1] for consistent composability of scenes. If
> multiple light sources illuminate a single geometric shape, the totals for
> color values computed at a given point may be greater than one. Using
> intensity values greater than one can provide useful effects and is allowed
> without error.
> >> =====================
> >>
> >> ---
> >>
> >> c.  Gamma correction
> >>
> >> Of note in this long-running issue:
> >> - no single entity (hardware, software, browser, author) can yet drive
> to a cross-platform solution.
> >> - stating accepted expectation (gamma correction is expected) might
> lead to false sense of optimism.
> >> - still complex but some further progress might be expected with XR
> activity next year.
> >>
> >> and realization that there is something we can mostly control:
> rendering screen to image, allowing visual checking/comparison and also
> unit testing.  No requirement that all browsers look exactly the same -
> rendering pipelines have some leeway - but at least we can test compare and
> keep improving.  Especially useful with addition of physically based and
> non-photorealistic (unlit) rendering.
> >>
> >> [4] [x3d-public] [...] Gamma Correction for X3D4 final draft
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-November/014103.html
> >>
> >> summarized as
> >>
> >>> There are 2 spec choices below: acknowledging norms by simply stating
> that gamma correction is typically expected,
> >>> or else continuing to say nothing.
> >>
> >> Check consensus: adding no additional statement still seems most
> pragmatic? So "not" say we all...
> >>
> >> ---
> >>
> >> d. Putting default duration bounds on url refresh activity
> >>
> >> Clearly we don't want a lot of unclosed 3D scenes and window frames
> becoming zombie network loads (or even Denial Of Service DOS threats).
> >>
> >> [5] [x3d-public] X3D4 security-related field addition: X3DUrlObject
> refreshTimeLimit
> >>
> http://web3d.org/pipermail/x3d-public_web3d.org/2020-November/014182.html
> >>
> >> with John Carlson's follow-on reply exploring rationale and examples
> further.
> >>
> >> Recommendation: include this field (X3DUrlObject refreshTimeLimit) as a
> prudent security precaution.
> >>
> >> ========================
> >> 9.3.2 X3DUrlObject
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/networking.html#X3DUrlObject
> >>
> >> X3DUrlObject {
> >>      SFString [in,out] description ""
> >>      SFBool   [in,out] load        TRUE
> >>      SFTime   [in,out] refresh     0.0 [0,∞)
> >>      MFString [in,out] url         []  [URI]
> >> }
> >> [...]
> >> =====================
> >>
> >> Proposed field for maximum refresh duration.  Note this is not the same
> as browser working its way through url list, and finding or timing out on
> any individual url, which is owned by the software implementation and the
> associated network protocol.
> >>
> >>      SFTime   [in,out] refreshTimeLimit  3600.0  [0,infinity]
> >>
> >> "The refreshTimeLimit field defines the maximum duration in seconds
> that /refresh/ activity is allowed to occur.  This field is intended to
> reduce potential risks associated with indefinite repetition of automatic
> link retrieval. Setting the /load/ field to TRUE resets the
> refreshTimeLimit clock. If refreshTimeLimit is exceeded then load is set to
> FALSE."
> >>
> >> Alternate names might be autoRefreshTimeLimit, together with renaming
> /refresh/ as /autoRefresh/.
> >>
> >> X3DUrlObject {
> >>      SFString [in,out] description           ""
> >>      SFBool   [in,out] load                  TRUE
> >>      SFTime   [in,out] autoRefresh           0.0     [0,∞)
> >>      SFTime   [in,out] autoRefreshTimeLimit  3600.0  [0,infinity]
> >>      MFString [in,out] url                   []      [URI]
> >> }
> >> [...]
> >>
> >> Absent further comment, we expect to proceed with this clarifying
> naming refinement.
> >>
> >> ---
> >>
> >> e. References review requested
> >>
> >> [6.0] [x3d-public] X3D4 endgame review: normative references and
> informative bibliography
> >>          http:s//
> web3d.org/pipermail/x3d-public_web3d.org/2020-November/014122.html
> >>
> >> Note several replies that are not part of the thread per se.
> >>
> >> [6.1] X3D4 Architecture, Normative references
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/references.html
> >>
> >> [6.2] X3D4 Architecture, (Informative) bibliography
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/bibliography.html
> >>
> >> Continuing review welcome, thanks for several improvements received.
> >>
> >> ---
> >>
> >> f. ExternalShape, ExternalGeometry?
> >>
> >> ExternalShape handled by Inline.
> >>
> >> [7.0] X3D4 9.4.2 Inline
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/networking.html#Inline
> >>
> >> What about ExternalGeometry for glTF models, is it needed?  Not finding
> it in Mantis, wondering if there is no strong use case or maybe we've
> dropped a ball.  Wondering if this was an intentional omission or
> overlooked?
> >>
> >> Presumed use case: glTF file contains a mesh (perhaps a compressed
> mesh) and then X3D Appearance gets applied.
> >>
> >> Can we add this node?  If overlooked then it would have to be
> non-controversial and already have multiple implementations, at this late
> date...
> >>
> >> As of today it seems too late for X3D4, feedback welcome.
> >>
> >> ---
> >>
> >> g. Event Utility node clarifications
> >>
> >> Thanks Andreas for remembering this long-overlooked issue.
> >>
> >> [8.0] [x3d-public] X3D4 draft nearing readiness for ballot; Mantis 519
> Event utilities, ignoring set_boolean false events
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-November/014185.html
> >>
> >> This applies to IntegerTrigger and TimeTrigger nodes, ignoring
> set_boolean FALSE improves logical understanding and simplifies event
> animation chains.
> >>
> >> Absent objections (none heard) will apply this straightforward change.
> No problems with prior compatibility identified as a result of this logical
> refinement.
> >>
> >> Review led Dick and I to also look at related issue
> >>
> >> [8.1] Mantis 1183, 30.4.6 IntegerTrigger - Ambiguous response when
> integerKey field is reset
> >>         https://www.web3d.org/member-only/mantis/view.php?id=1183
> >>
> >>> Suggested clarification to ensure consistent implementations and
> expectations: append
> >>> "Resetting the integerKey field generates a corresponding integerKey
> field output event."
> >>
> >> also related:
> >>
> >> [8.2] Mantis 1182: 30.4.3 BooleanToggle - Ambiguous response when
> toggle field is reset
> >>          https://www.web3d.org/member-only/mantis/view.php?id=1182
> >>
> >>> "Resetting the toggle field generates a corresponding toggle field
> output event."
> >>
> >> Absent objections, we plan to apply all of these related
> simple/sensible clarifications to X3D4 specification prose.
> >>
> >> ---
> >>
> >> h. HTML guidelines
> >>
> >> Draft still pending, initial entries have started.
> >>
> >> *
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/htmlGuidelines.html
> >>
> >> More to follow on mailing list.
> >>
> >> ---
> >>
> >> i. Field name consistency
> >>
> >> The possibility of synonym names for inconsistently named X3D3 fields
> looks to provide an excellent opportunity to regularize X3D4 scene graph
> for new authors, HTML5 X3D models, etc. without unintended loss of
> backwards compatibility.
> >>
> >> [8.0] [x3d-public] X3D4 finalization endgame: Field naming
> reconciliation as synonyms
> >>
> https://web3d.org/pipermail/x3d-public_web3d.org/2020-November/014125.html
> >>
> >> Agree with Andreas note that GeoLOD should not have a synonym field for
> children since accessType is different.  Others appear feasible and deserve
> close checking based on rationale.
> >>
> >> This does not appear to be everyone's first preference, but does appear
> to be feasible (i.e. "can live with it").
> >>
> >> Dick is preparing general prose regarding synonyms for section 4
> Concepts.
> >>
> >> Previously attached to agenda was screenshot of how specification
> format for affected node interfaces might change.  We reviewed this draft
> during meeting, details below.
> >>
> >> [8.2] X3D4 32.4.2 CADFace
> >>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/CADGeometry.html#CADFace
> >>
> >> Discussed that the synonym concept adds a greater burden on
> implementers, they have to be checked in multiple contexts, mixing/matching
> within a single model file is further difficult, other reasonable
> concerns.  Agreed that it is a different requirement that does not exist in
> X3D3.
> >>
> >> Vince can "live with" field name changing, but does not expect that
> implementers will ever really apply synonyms because of added complexity.
> >>
> >> Strictly speaking, the "call for consensus" was for field name
> changing.  That is what people said they could live with.
> >>
> >> There are too many implications associated with synonyms to be sorted
> out in short order as we try to finish. So we won't do synonyms (though
> nothing prevents an implementation from utilizing that design path if they
> like).
> >>
> >> Last last call, revisit next week.  For those who haven't answered "can
> I live with it" a response is welcome.
> >>
> >> ---
> >>
> >> 2. Specification release timing.
> >>
> >> Group discussion.  Looks like we need one more week.
> >>
> >> Additional items welcome.  Are any other finals steps needed to be
> ready to ship X3D4 for Web3D Consortium member ballot and Board of
> Directors approval?  We discussed details. Appears like we simply need to
> finish, all preparations for Web3D Consortium are in place.
> >>
> >> [9] Web3D Standards Adoption Process
> >>       https://www.web3d.org/standards/adoption-process
> >>
> >> ---
> >>
> >> Having too much fun with X3D4 maybe... finish line almost here.
> >>
> >> 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
> >>
> >>
> >> _______________________________________________
> >> x3d-public mailing list
> >> x3d-public at web3d.org
> >> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
> 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
>
> _______________________________________________
> x3d-public mailing list
> 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/20201205/6dbc0704/attachment-0001.html>


More information about the x3d-public mailing list