IFC 4.3.2.20240128 (IFC4X3_ADD2) under development

8.12.3.32 IfcSurfaceStyleRendering

RV ⓘ

8.12.3.32.1 Semantic definition

IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface style. Three lighting models are supported:

  • Phong lighting model
  • Physically based lighting model
  • Flat lighting model that ignores light sources

The material parameters are specified as scalars or RGB colors. Every material parameter can be adjusted using a texture. This allows to vary this parameter across the surface. The information sampled from the texture is always multiplied by the simple scalar/color fields.

8.12.3.32.2 Entity inheritance

8.12.3.32.3 Attributes

# Attribute Type Description
IfcSurfaceStyleShading (2)
1 SurfaceColour IfcColourRgb

The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue.

2 Transparency OPTIONAL IfcNormalisedRatioMeasure

The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed.

Click to show 2 hidden inherited attributes Click to hide 2 inherited attributes
IfcSurfaceStyleRendering (7)
3 DiffuseColour OPTIONAL IfcColourOrFactor

In a PHONG ReflectanceMethod, the DiffuseColour correlates to the diffuseColor attribute in the X3D Phong lighting model. The diffuse colour reflects all X3D light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the DiffuseColour correlates to the baseColor attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the DiffuseColour correlates to the emissiveColor attribute used in the X3D unlit lighting model.

4 TransmissionColour OPTIONAL IfcColourOrFactor

The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. The transmissive colour field specifies the colour that passes through a transparent material (like the colour that shines through a glass). The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor.

5 DiffuseTransmissionColour OPTIONAL IfcColourOrFactor

The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor.

6 ReflectionColour OPTIONAL IfcColourOrFactor

The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor.

7 SpecularColour OPTIONAL IfcColourOrFactor

In a PHONG ReflectanceMethod, the SpecularColour correlates to the specularColor attribute in the X3D Phong lighting model. The specular colour determine the colour of the specular highlights ( e.g., the shiny spots on an apple). In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the SpecularColour is specified as a IfcNormalisedRatioMeasure, which correlates to the metallic attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the SpecularColour has no effect.

8 SpecularHighlight OPTIONAL IfcSpecularHighlightSelect

In a PHONG ReflectanceMethod, the SpecularHighlight is specified as a IfcSpecularRoughness and correlates to the inverse of the shininess attribute in the X3D Phong lighting model. The SpecularHighlight determines the nature of the specular highlights ( e.g., the shiny spots on an apple). Lower shininess values produce soft glows, while higher values result in sharper, smaller highlights. In a PHYSICAL ReflectanceMethod, a physical based lighting model is assumed, and so the SpecularHighlight is specified as a IfcSpecularRoughness, which correlates to the roughness attribute used in the X3D physical lighting model. In a FLAT ReflectanceMethod, the SpecularHighlight has no effect.

9 ReflectanceMethod IfcReflectanceMethodEnum

Identifies the predefined types of reflectance method from which the method required may be set. PHONG correlates to the X3D Phong lighting model. PHYSICAL correlates to the X3D Physical lighting model. FLAT correlates to the X3D Unlit lighting model. The exact behaviour of other reflectance methods may be determined by view definitions or implementer agreements.

Table 8.12.3.32.E

8.12.3.32.4 Examples

8.12.3.32.5 Formal representation

ENTITY IfcSurfaceStyleRendering
 SUBTYPE OF (IfcSurfaceStyleShading);
	DiffuseColour : OPTIONAL IfcColourOrFactor;
	TransmissionColour : OPTIONAL IfcColourOrFactor;
	DiffuseTransmissionColour : OPTIONAL IfcColourOrFactor;
	ReflectionColour : OPTIONAL IfcColourOrFactor;
	SpecularColour : OPTIONAL IfcColourOrFactor;
	SpecularHighlight : OPTIONAL IfcSpecularHighlightSelect;
	ReflectanceMethod : IfcReflectanceMethodEnum;
END_ENTITY;

8.12.3.32.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.12.3.32.7 Changelog

8.12.3.32.7.1 IFC4

  • attribute, Transparency

8.12.3.32.7.2 IFC4.3_DEV_70ee25e8

  • attribute DiffuseTransmissionColour, Is now deprecated
  • attribute ReflectionColour, Is now deprecated
  • attribute TransmissionColour, Is now deprecated