[x3d-public] TwoSidedMaterial deprecation by adding Appearance backMaterial field

Michalis Kamburelis michalis.kambi at gmail.com
Mon Feb 3 01:19:34 PST 2020


Yes, if we choose the option "two-sided materials with different colors are
useful, let's introduce backMaterial" then PBR needs are satisfied. The
field would accept X3DMaterialNode (just like front "Appearance.material")
and allow PhysicalMaterial.

An appropriate prose can be added to make sure the front and back materials
match (that you cannot put Material in front, PhysicalMaterial in back
etc., and textures match -- to make things easy to implement). In my PBR PR
there's a prose at TwoSidedAnyMaterial that can be adapted:)

I agree that this is more performant than two separate meshes.

Regards,
Michalis

pon., 3.02.2020, 02:01 użytkownik Andreas Plesch <andreasplesch at gmail.com>
napisał:

> There is a chicken and egg problem. Without the functionality being
> available for modelers, it may not be missed. A more interesting
> analyses may be how many models would benefit from a back material
> option. Models which only have an outside like most gaming assets are
> not in this class of models. Abstract surfaces from math or physics or
> are more likely to benefit from distinguishing a back and front. There
> may be other classes of models.
>
> The other arguments for two sided material is that it is more
> performant than two separate surfaces.
>
> For PBR, could the backMaterial value not just be allowed to be a
> PhysicalMaterial ?
>
> But simplification in itself is valuable, too.
>
> On Sun, Feb 2, 2020 at 4:16 PM Michalis Kamburelis
> <michalis.kambi at gmail.com> wrote:
> >
> > > Wondering what you think about compatibility with PBR upgrades: does
> allowing either legacy TwoSidedMaterial or equivalent
> Appearance/material/backMaterial approaches result in major difficulty
> implementing PBR?  If two-sided materials are a problematic drawback for
> PBR, that is important to know.
> >
> > Let us carefully distinguish two cases here:
> >
> > 1. Two-sided materials *with the same colors on both sides* are easy
> > to implement. And most software / formats supports them, I think.
> >
> >     This is called "two-sided lighting" commonly, and one just inverts
> > a normal vector before calculations to do it.
> >
> >     These materials are also already possible in X3D thanks to the
> > "solid" field. As Andreas found, X3D specification of "solid" already
> > includes wording to perform two-sided lighting in this case. So, no
> > new X3D fields are necessary, and TwoSidedMaterial node is not
> > necessary.
> >
> > 2. Two-sided materials *with different color on front / back sides*
> > are a small burden to implement. It is the same burden for Phong as
> > well as for PBR materials. You need to pass two sets of colors, and
> > switch between them.
> >
> >     It's not a *major* burden. They are still relatively easy. I'm
> > mostly arguing because I don't see this burden as "justified".
> >
> >     (Note that in X3Dv4, materials can also refer to textures, but in
> > this case I would say that both front and back must refer to the same
> > texture nodes.)
> >
> >     That is why I argue in favor of just deprecating this option.
> >
> >     For example: CGE doesn't implement TwoSidedMaterial with
> > separateBackColor=TRUE. And I don't plan to implement it soon -- until
> > I get a report asking me to implement it. I just don't see it as
> > useful enough, when other software / formats doesn't support it
> > either. You will not be able to export such materials from Blender any
> > time soon, anyway. glTF doesn't have it either, so you don't need it
> > to convert glTF -> X3D.
> >
> >     Two-sided materials *with different color on front / back sides*
> > also require some action on the spec side. Because the current
> > TwoSidedMaterial is only for Phong material. So the decision about
> > this affects what to do with PBR.
> >
> >     My point  of view: We need to decide whether two-sided materials
> > with different front / back colors are useful.
> >
> >     2.1. (my view) They are not useful (and are some burden to
> > implement). So let's just deprecate "TwoSidedMaterial", and be done
> > for X3D 4.0. If users report they are needed, then in X3D 4.1 we add
> > "backMaterial". The browsers can  of course keep supporting
> > "TwoSidedMaterial" forever, we just make it clear to users to not rely
> > on it.
> >
> >     2.2. (your view, as I understand it) They are useful. So we
> > deprecate TwoSidedMaterial, and add "backMaterial" in X3D 4.0. This
> > way this feature remains available for both Phong and PBR materials.
> > IOW, if we decide that it is useful -> it has to available for both
> > Phong and PBR materials, to keep them both full-featured.
> >
> >     I'm cool to be persuaded to 2.2 :) My opinion is definitely not in
> > the stone. But I would really like to see some real-world cases when
> > they are used by 3D artists. I'm arguing now just from my experience
> > -- I never saw this feature used, or requested, by 3D artists. Of
> > course my experience is limited to my use-cases :)
> >
> > Regards,
> > Michalis
>
>
>
> --
> Andreas Plesch
> Waltham, MA 02453
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200203/7ee7ed41/attachment-0001.html>


More information about the x3d-public mailing list