[x3d-public] beyond Blinn-Phong: PBR

Andreas Plesch andreasplesch at gmail.com
Sun Jan 20 18:29:59 PST 2019


Timo Sturm provided these nodes. The main work is to get to the gltf data
to a special shader which in itself is not complex. I think the goal is to
proceed to an overdue x3dom release after consolidating into development
release with what we have. There would be some time to make adjustments to
node signatures perhaps focusing on PhysicalMaterial.

The flipped Y axis for texture coordinate is handled in the fragment shader:

https://github.com/x3dom/x3dom/blob/webVR/src/shader/ShaderPBRMaterial.js#L124

The 1 - coord.y should not have a noticeable performance impact. There is
currently no way to access the gltf texture coordinates from the x3d scene.

glTF supports animation of transformation components but does not define
exactly when an animation is played, just how long a cycle is. x3dom just
plays and loops them but could opt to play once or not play and just
provide the equivalent Timesensor, Interpolator and ROUTE nodes for the
scene to use as it wants. On the other hand there is no way to EXPORT from
a gltf inline.

-Andreas

On Sun, Jan 20, 2019 at 3:21 PM Michalis Kamburelis <
michalis.kambi at gmail.com> wrote:

> Andreas Plesch <andreasplesch at gmail.com> wrote:
> >
> > For glTF inline support, PBR shading will be required. The glTF spec.
> has an example implementation for PBR but for anybody who wants to dive in
> more, there is the free
> >
> > http://www.pbr-book.org
> >
> > It seems somewhat artificially inflated and is based on ray tracing but
> explains the foundational PBR concepts in depth, and in code.
> >
> > I just wanted to share that resource but will point out that x3dom will
> have a PhysicalMaterial node and an EnvironmentLight node which are used by
> the glTF loader.
> >
>
> Cool! I also want to define PhysicalMaterial and EnvironmentLight in
> Castle Game Engine, for interoperability with glTF. It will be good to
> converge on a single specification for these nodes, and eventually add
> it to the X3D 4 specification :) We have the same goals (achieve PBR
> in X3D, and achieve it in a way that makes glTF 2.0 -> X3D conversion
> straightforward), so I'm sure this will be possible.
>
> I don't have an exact specification yet (my rough ideas are on
> https://github.com/michaliskambi/x3d-tests/wiki/How-to-add-PBR-to-X3D%3F
> , this page collects thoughts and info from our talks on x3d-public :)
> ).
>
> Regards,
> Michalis
>


-- 
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190120/94ebf1ff/attachment.html>


More information about the x3d-public mailing list