JavaFX 3D : TriangleMesh specification questions

John Yoon John.Yoon at
Wed Apr 10 20:35:23 PDT 2013

Hi August,

I just had a good chat with the graphics team today about the semantics of "flat shading".

It seems there are 2 definitions that are being used for "flat shading" in correspondence.

The more traditional definition of flat shading, before the per-pixel lighting became popular, refers to every pixel on the face sharing the exact same RGB color value.
Lets just call this "traditional flat shading" in this email.

However, now that per-pixel lighting has become popular, some now refer to "flat shading" as "triangles with all three edges creased".
So if all 3 sides of a triangle have hard edges, some would say that the triangle would be "flat shaded".
From a cognitive standpoint, the face would still appear to be flat, even if every pixel on the face does not share the exact same RGB color value due to per-pixel lighting.
For lack of better terminology, lets call this "non-traditional flat shading" in this email.
I'm in "non-traditional flat shading" camp myself.

A smoothing group value of "0" would then be "non-traditional flat shaded".
Although, technically speaking, "0" would not be "traditional flat shaded".

Just thought I'd clarify, since I noticed 2 different semantics of "flat shading" being used in correspondence.


> Hi August,
>     We will still limit the number of smoothing group from 1 to 32. However this change will allow sharing of smoothing groups with adjacent faces so that the edges between them are rendered as smooth. Value "0" implies no smoothing group (or hard edges), not flat shaded (though it may look like it). We doubt there is much performance differences in the assignment of the smoothing group id.
> Thanks,
> - Chien

More information about the openjfx-dev mailing list