Geometry attributes

IntermediateArtistProgrammer

The material geometry attributes define the shape of a material.

Geometry properties

Tessellation

Real-time tessellation uses a HW feature of the GPU to massively subdivide triangles. This increases the realism and potential of deformations of the surface geometry.

You can choose none, flat tessellation, or point normal tesellation.

No tessellationFlat tessellationPoint normal tessellation
media/material-attributes-2.pngmedia/material-attributes-3.pngmedia/material-attributes-4.png

Flat tessellation

This option tessellates the mesh uniformly.

media/material-attributes-5.png

In the images below, notice how the flat tessellation adds extra triangles, but doesn't take the curve into account:

No tessellationFlat tessellation
media/material-attributes-6.pngmedia/material-attributes-7.png
PropertyDescription
Triangle sizeThe size of a tessellated triangle in screen-space units
Adjacent edges averageAdjust the triangle size values from the average of adjacent edges values

Point normal tessellation

This option tessellates the mesh using the curvature provided by the mesh normals.

media/material-attributes-8.png

The images below show how point normal tessellation adds extra triangles while taking the curvature of the mesh into account:

No tessellationPoint normal tessellation
media/material-attributes-6.pngmedia/material-attributes-9.png
PropertyDescription
Triangle sizeThe size of a tessellated triangle in screen-space units
Adjacent edge averageAdjust the triangle size and normal curvature values from the average of adjacent edge values

Displacement

Under the Displacement properties, you can specify displacement map. This displaces the geometry of the mesh.

media/material-attributes-10.png

Depending on the stage at which the displacement is applied, the results can be very different:

Displacement with vertex shaderTessellation with displacement
media/material-attributes-11.pngmedia/material-attributes-12.png
PropertyDescription
Displacement MapThe displacement texture as a material color provider
IntensityThe amount of displacement
Scale & BiasWhen enabled, the value coming from the texture is considered a positive value ranging from 0.0 to 1.0 and the shader applies a scale to get the range -1.0 to 1.0
Shader StageSpecify which shader stage the displacement map should be applied to: vertex shader or domain shader (used with tessellation)

Surface

media/material-attributes-14.png

Under the Surface properties, you can define a Normal maps to define macro surface normals. The normal map provides per-pixel normal perturbation of the normal of the mesh. Normal maps create the appearance of bumps and indents in the mesh:

FlatUsing a normal map
media/material-attributes-15.pngmedia/material-attributes-16.png
PropertyDescription
Normal mapThe normal map color provider
Scale and offsetInterpret values from the texture as positive values ranging from 0.0 to 1.0. The shader applies a scale to get the range -1.0 to 1.0.
Reconstruct ZIf there's no Z component in the texture, reconstruct it from the X and Y components. This assumes that X2 + Y2 + Z2 = 1 and that Z is always positive, so no normal vector can point to the back side of the surface. We recommend you enable this option, as Xenko might remove the Z component when you compress normal maps.

For more information about normal maps, see the normal maps page.

Micro surface

Under the Micro surface setting, you can provide a gloss map to provide per-pixel information for gloss.

media/material-attributes-17.png

If you select Float:

  • a value of 1.0 means the surface is highly glossy (the coarse normal isn't perturbed)
  • a value of 0.0 means the surface is very rough (the coarse normal is highly perturbed in several directions)The screenshots below show different levels of gloss on a material:

  • Diffuse = #848484, Lambert

  • Specular Metalness = 1.0, GGX
    Gloss = 0.00.250.50.81.0
    media/material-attributes-18.pngmedia/material-attributes-19.pngmedia/material-attributes-20.pngmedia/material-attributes-21.pngmedia/material-attributes-22.png
PropertyDescription
Gloss mapThe gloss map color provider
InvertInverts the gloss value (eg a value of 1.0 produces zero gloss instead of maximum). This effectively turns the gloss value into a roughness value, as used in other game engines

If you have local reflections enabled, the scene is reflected in materials with a gloss map value higher than the threshold you specify in the local reflections properties. For more information, see Local reflections.

See also