[x3d-public] Physically Based Rendering gltf examples in .x3d form; design approach confirmed, encourage X3D4 implementation

Don Brutzman brutzman at nps.edu
Tue Sep 29 10:18:36 PDT 2020


Meeting today: Michalis Dick Don, regrets (and feedback) from Andreas.

Michalis has the following .x3dv examples prepared:

[6] michaliskambi > x3d-tests > pbr
     https://github.com/michaliskambi/x3d-tests/tree/master/pbr

He graciously agreed to export XML .x3d versions as well so I don't spend time (or make errors) transcribing them in preparation for regression testing.

He will also add screenshots for each model so that everyone knows what expected rendering looks like.

We hope that this really facilitates other X3D4 implementations and encourages consistent presentation.

The above examples are all authored by Michalis and in open source, some textures are by others and given appropriate credit.

On 9/29/2020 7:32 AM, Don Brutzman wrote:
> With X3D XML Schema and DOCTYPE complete, and X3D Schematron rules addable without too much difficulty, we're ready for next steps.
> 
> As part of examples improvements, am hoping to put them in our archives so that regression testing can be performed.
> 
> [1] X3D Resources, Example Archives
>      https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
> 
> May I suggest that we create an PhysicallyBasedRendering section directory for these at
> 
> [2] X3D for Advanced Modeling (X3D4AM) Examples Archive
>      https://x3dgraphics.com/examples/X3dForAdvancedModeling/

We agreed to put copies of them there, matching and in open source (of course).  Thank you Michalis.

> Wondering, where might I find the examples you've shown?  Am looking at
> 
> [3] michaliskambi > x3d-tests >
>      Include PBR (PhysicalMaterial and related concepts) in the official X3D specification
>      https://github.com/michaliskambi/x3d-tests/wiki/Include-PBR-%28PhysicalMaterial-and-related-concepts%29-in-the-official-X3D-specification
> 
> and then
> 
> [4] michaliskambi > x3d-tests > Converting glTF to X3D
>      https://github.com/michaliskambi/x3d-tests/wiki/Converting-glTF-to-X3D
> 
> and then
> 
> [5] castle-engine > demo-models > glTF > sample models for Castle Game Engine
>      https://github.com/castle-engine/demo-models/tree/master/gltf
> 
> Wondering how to establish a baseline.  Might it be possible to use Castle Engine to Inline load each of these gltf examples and save each one of them back out as X3D?

He confirmed that, rather than Inline (which would be preserved verbatim on saving) it is possible to
- open a glTF model in view3dscene, then
- save as X3D

An update to the following converter is in progress to match the latest X3D4 node signatures, will be finished soon.  At that point anyone can perform this step via

[7] Castle Game Engine: Convert everything to X3D
     https://castle-engine.io/convert.php

We will work on those Khronos-provided glTF examples after adapting his existing examples for regression testing.

> Primary format in the example archives is XML .x3d file encoding, preforming maximum validations, then all other variants are then converted from that in order to check proper X3D representations in X3DOM, X_ITE, ClassicVRML, JSON, EXI, Java, Python, Turtle, and pretty-print HTML documentation.

Interestingly X_ITE and X3DOM versions are automatically provided as part of this Web3D Examples Archive endeavor.  Helpful for checking.

> Looking forward to getting into pair-wise production and publication together.
Additional implementations: the past week's work on XML Schema and X3DUOM have each provided significant implementation checks that the interface hierarchy is coherent and consistent, without internal contradictions.  X3D Tooltips add clarity and link to various representations.  X3D Validator provides error checking.

[8] X3D Specifications: Schema and DOCTYPE Validation
     https://www.web3d.org/specifications
     https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0.html
     https://www.web3d.org/specifications/X3dDoctypeDocumentation4.0.html
     
[9] X3D Unified Object Model (X3DUOM) v4
     https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml

[10] X3DJSAIL: X3D Java Scene Access Interface Library
      https://www.web3d.org/specifications/java/X3DJSAIL.html

[11] X3D Validator
      https://savage.nps.edu/X3dValidator

Next: Dick and I will work on clarifying X3D4 specification prose further in a follow-on session this week.

The three of us all think it is fair to say that the PBR design is now complete and correct.  All of our major questions are answered satisfactorily. We are next pursuing implementation and evaluation of examples to confirm that conclusion. This work is already implemented in open-source Castle Game Engine / view3dscene.

Suggest that other rendering implementations can now proceed with a high degree of confidence that integration of glTF, physically based rendering (PBR) and non-photorealistic rendering (NPR) is feasible and ready for implementation by other X3D4 players.

Again thanks to Michalis for superlative design/implementation efforts, again thanks to everyone who helped with many questions critiques and contributions.  Totally impressive team effort.

On our way... Have fun with advanced rendering in X3D4!!  8)

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