Java3D's API uses PolygonAttributes setBackFaceNormalFlip() to enable/disable
flipping a normal vector for two-sided lighting. This is a wrapper to the
OpenGL glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE | GL_FALSE).
Unfortunately, this state information is not available to GLSL shader programs.
Proposed enhancement to provide a uniform variable that indicates whether
two-sided lighting is enabled. This could be a shader attribute binding.
I have successfully produced a workaround solution that uses my own uniform
variable in a shader program that is set by reading the value of
getBackFaceNormalFlip(). An alternate idea would be to redesign the
PolygonAttributes to use the Observer design pattern. Observers could monitor
the states of the polygon attributes and perform customized actions when the