buildingSMART Forums

ReflectanceMethod in IfcSurfaceStyleRendering is inconsistent

Referring to this.

Some of these are shaders, some are merely things which could be achieved by a shader.

For example, “Metal”, or “Plastic”, refers to specularity colour. These categorise well with “Mirror” and “Glass”. These four are especially useful for light simulation. It should belong to IfcSurfaceStyleLighting.

On the other hand, shaders like “Blinn”, “Phong”, “Strauss”, or, I guess, “Flat”, kind of fall into a different category, relating to the shader technique for things like interpolation. Nowadays it’s also not particularly relevant, as most people kind of just see their model in “unrendered” mode (i.e. whatever their OpenGL/DirectX default is) or “rendered” mode (either using a light simulation model, or using a really fancy custom PBR shader definition in which case IFC isn’t capable and so they use IfcExternallyDefinedSurfaceStyle.

In the current situation, in layman terms (i.e. not using the words “plastic” or “metal” in the context of light simulation), it is possible to render out a “metal” with “blinn”, for example, or a “plastic” with “phong”.

“Matt” is neither here nor there, I don’t think it should exist at all.

Can this be fixed?