[x3d-public] Physically Based Materials (PBR) in X3D

Michalis Kamburelis michalis.kambi at gmail.com
Sun Mar 18 20:24:29 PDT 2018


I have updated https://github.com/michaliskambi/x3d-tests/wiki/Include-PhysicalMaterial-and-PhysicalEnvironmentLight-in-the-official-X3D-specification
to incorporate many of our thoughts :)

I also see that "delaying PBR to X3D 4.1" is not as easy as I
initially thought. The question "how to add PBR to X3D" is necessarily
tied with the question "how to add CommonSurfaceShader (or just it's
features) to X3D". As CommonSurfaceShader partially talks about stuff
relevant only for Phong lighting model, but partially about more
universal stuff like normalmaps. So these questions should be resolved
together, to make sure that final standard makes sense and is as
straightforward as possible.

2018-03-18 14:09 GMT+01:00 Andreas Plesch <andreasplesch at gmail.com>:
> There was a discussion on glTF to have a mobile optimized material
> which could be even unlit, and a full material.

Note (not really about PBR or glTF) that may be interesting: in
view3dscene/Castle Game Engine I specifically detect and treat the
case of "Pure Emissive Material". When

- Material.ambientIntensity = 0
- Material.diffuseColor = (0,0,0)
- Material.specularColor = (0,0,0)

then I know the Material is unlit, and only Material.emissiveColor
matters. The renderer then uses somewhat optimized path, knowing that
lighting doesn't matter.

(
Note 2: This is combined now with view3dscene/Castle Game Engine
"bug/feature" that the Appearance.texture is just multiplied by the
color resulting from the light calculation (instead of being used only
for diffuse). So in case of "Pure Emissive Material", the
Appearance.texture is still relevant, and effectively plays the role
of emissiveTexture (like in CommonSurfaceShader). In the perfect
future,

1. X3D Material allows to define emissiveTexture,
2. This bug/feature of view3dscene/CGE is removed, and the
Appearance.texture is only used for diffuse.
)

Regards,
Michalis



More information about the x3d-public mailing list