<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Michalis,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">I am curious how you handle the
      differences in texture/appearance. glTF only handles PBR. It is
      possible to create the equivalent appearance of Phong-shaded
      material, but it takes quite a bit of work during
      modeling/texturing. If that work was not done, then you need to
      merge multiple maps for texture (aka base color), metallic,
      roughness, plus optionally those for normals (already in place in
      X3D), ambient occlusion, emissive (as a map, not just a scalar),
      and environmental light map. <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">I see some obvious mappings from glTF
      --> X3D. [This material included for those not deeply familiar
      with PBR or glTF's implementation of PBR.]<br>
    </div>
    <div class="moz-cite-prefix"><br>
      Things with obvious relationships<br>
    </div>
    <div class="moz-cite-prefix"><b>glTF        -->        X3D</b></div>
    <div class="moz-cite-prefix">base color    ->    texture</div>
    <div class="moz-cite-prefix">normals        ->    normals</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Things with obvious relationships, but
      dimension reduction<br>
    </div>
    <div class="moz-cite-prefix"><b>glTF (map)        --> X3D
        (scalar)</b></div>
    <div class="moz-cite-prefix">emissive        ->    emissive</div>
    <div class="moz-cite-prefix">environment    -> multiple discrete
      lights</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Things that don't map</div>
    <div class="moz-cite-prefix"><b>glTF</b></div>
    <div class="moz-cite-prefix">metallic</div>
    <div class="moz-cite-prefix">roughness</div>
    <div class="moz-cite-prefix">ambient occlusion</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Things that don't receive</div>
    <div class="moz-cite-prefix"><b>X3D</b></div>
    <div class="moz-cite-prefix">diffuseColor (unless the texture is
      flat)</div>
    <div class="moz-cite-prefix">specular (computer in PBR)</div>
    <div class="moz-cite-prefix">emissive (unless the emissive map is
      flat -- see above)</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Note that transparency and discrete
      lighting is separate and handled in both systems.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The page at
      <a class="moz-txt-link-freetext" href="https://github.com/KhronosGroup/glTF-WebGL-PBR">https://github.com/KhronosGroup/glTF-WebGL-PBR</a> is a good place to
      start for a description of the glTF implementation.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Leonard Daly</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <blockquote type="cite"
cite="mid:CAKzBGZPtaYAUUE36vBA2MzHeGU0oCcPhp8qeLk-7dejou3mN0g@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">Hi,

My apologies, I will not be able to attend today's web3d
teleconference. I'm falling asleep after 24h of work :) Man, I thought
I'm stronger! :)

For anyone interested, I wanted to briefly mention what has happened
in Castle Game Engine / view3dscene about glTF. I can talk about it
next Friday, but those interested can also read links below:

- Castle Game Engine / view3dscene can now read glTF 2.0 (without
animations): <a class="moz-txt-link-freetext" href="https://castle-engine.io/wp/2018/12/23/gltf-2-0/">https://castle-engine.io/wp/2018/12/23/gltf-2-0/</a> . Both
.gltf and .glb versions, images/buffers can be provided either as
separate files or packed into a single file. You can open glTF files,
you can refer to them using X3D "Inline" or "Anchor", you can use
view3dscene/tovrmlx3d to convert glTF to X3D. The resulting X3D uses
CommonSurfaceShader to express a Phong material with possible
normalmaps.

- I wanted to mention important "mismatch" between glTF and X3D, and
how we deal with it by a new "flipVertically" field at texture nodes
(like "ImageTexture.flipVertically"):
<a class="moz-txt-link-freetext" href="https://castle-engine.io/x3d_implementation_texturing_extensions.php#section_flip_vertically">https://castle-engine.io/x3d_implementation_texturing_extensions.php#section_flip_vertically</a>

- I wanted to mention "Appearance.alphaChannel", which is a CGE
extension to X3D:
<a class="moz-txt-link-freetext" href="https://castle-engine.io/x3d_implementation_shape_extensions.php#section_ext_alpha_channel">https://castle-engine.io/x3d_implementation_shape_extensions.php#section_ext_alpha_channel</a>
. It is generally useful (even if you don't care about glTF), and also
it allows to perfectly express the glTF "alphaMode" field at glTF
materials.

Best regards,
Michalis

_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>

</pre>
    </blockquote>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>