[x3d-public] [Web3DConsortium/X3D] [WIP] PBR and other lighting and material upgrades (#8)

Don Brutzman brutzman at nps.edu
Mon Dec 23 09:26:39 PST 2019

Michalis and I had a brief discussion this morning about ongoing work on Physically Based Rendering, lighting and materials.

We discussed how TwoSidedMaterial functionality might be merged into a single X3Dv4 X3DMaterialNode abstract type.  There are a few ways to do this.  Having separate nodes doesn't add much value since it adds unnecessary complexity, for implementers and validators and authors.

If a merger is completed successfully, we can likely then deprecate TwoSidedMaterial and show a simple conversion process.  More to follow on this.

Following implementation of PointProperties in X3D Schema and DOCTYPE, I will next work on equivalent scene-graph validation for Material/PhysicallyBasedMaterial/TwoSidedMaterial.

Michalis continues work on specification prose and numerous examples.  We will meet again to review draft spec changes with Dick Puk after the holiday.

On 11/25/2019 12:10 PM, Michalis Kamburelis wrote:
> I added a few more examples to the https://github.com/michaliskambi/x3d-tests/tree/master/pbr . These are simple, basic examples. More to come.

Michalis adds:
- We think about simply adding "SFBool [] twoSided", default FALSE, to X3DMaterialNode (thus, to both Material and PhysicalMaterial).  (For now it appears that accessType initializeOnly is a bit safer, if possible will relax to inputOutput.)

- We assume here that using TwoSidedMaterial with separateBackColor=TRUE is rare. (This is something that allows you to say "it's blue from front, but red from back").  (Possibly more usage will occur as people create more buildings, vehicles, furniture etc.)

- Conversion from TwoSidedMaterial (Conceptual design):

     - If you used TwoSidedMaterial with separateBackColor=FALSE: simply change TwoSidedMaterial -> Material, and set "Material.twoSided" to TRUE.
     - If you used TwoSidedMaterial with separateBackColor=TRUE: duplicate the geometry, using solid=TRUE in both cases, but in one case set ccw=TRUE, in the other case set ccw=FALSE. This effectively achieves two-sided material that can look differently from both sides.

We wish everyone a great holiday season full of good cheer and excellent rendering.  Have fun with X3Dv4!  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