The shaders fall into two main categories.
These shaders are used to determine the surfaces properties of 3D objects. They can be attached to Scene Nodes and any scene mesh objects like Box, Sphere, etc., and the Mesh objects imported from an external model file.
The factory material shaders are found in the [Common]:Shaders folder. Since there are plenty of them they’re further divided into a number of subfolders.
These shaders are used for custom image processing operations. They can be applied through the Custom Processor module.
The factory post-processing shaders are found in the [Common]:Shaders\Postprocess folder.
Naming convention of material shaders
The shader names are build from short tags. These tags mostly refer to the texture types the shader can handle but can indicate other features as well.
For e.g. Norm_Refl.xshad indicates that the shader can receive a Normal Map and a Reflection Map (and also an environment cubemap).
Name tag reference
- Basic - no lighting is applied, the color or the Color Map is rendered without any modification.
- Solid - there’s no Color Map, only a constant color is applied.
- Flat - there’s no Normal Map.
- Norm - Normal Map.
- Norm-3Dc - Normal Map is provided as a BC5 (3Dc) format which only contains two components. The third one is calculated in the shader.
- Spec - Specular Map.
- Emiss - Emissive Map. It’s added to the surface as is regardless of the lighting. Can be modified by the Emissive Color property.
- Lum - Luminosity Map. Where it is 0 lighting is applied fully, where it is 1 only the surface’s own color is applied which is modified by the Luminosity Color property.
- Lum-Highlight - Highlight Color is modulated by the Luminosity value (normally they can be set independently of each other).
- Opacity - separate Opacity Map (normally the alpha channel of the Color Map is used as opacity map).
- Refl - Reflection Map that is usually paired with an Environment Map. The former determines the reflectivity of the surface while the latter is a cubemap representing the surrounding context that is reflected on the object.
- Lighted-Refl - reflectivity is also influenced by the incoming lighting thus creating an interesting effect.
- Refl_Long-Lat - Environment Map is presented as a Long-Lat map instead of a cube
- Mirror - plane reflection. The reflected image is received through the Mirror Image pin and has to be rendered using a mirror camera. For further info please consult this tutorial. Also has a Reflection Map to determine the reflectivity of the surface.
- Refract - capable of refracting the image of the objects behind the surface when transparency is set. Camera must have the Refraction property turned on so that this shader takes effect.
- VertexColor - uses vertex color to further modulate the color of the surface.
- Det - Detail Map for one or more maps (e.g. Color Detail Map, Normal Detail Map, etc.). When the camera is closing to the surface regular maps are overlayed by the detail maps. Detail Near and Far properties specify the transition zone. Detail UV Scale provides a multiplied UV for the detail maps.
- Mix - Mix Map. The regulars maps have two versions and Mix Map controls a blending between them. The two versions and the Mix Map have separate Tex Coord Transformations. Can be used to hide the repeating pattern of the textures on large surfaces.
- Disp - Displacement Map. Performs a tesselation on the mesh before applying the displacement. Note that a corresponding Normal Map has to be provided to achieve the correct lighting. It can be generated automatically from the Displacement Map using the Displace Bumper module.
- Aniso - Anisotropy Map. Provides anisotropic lighting, specular, and reflection.
- Light - Light Map. It must be baked using a third party modeling software. The mesh also has to provide a secondary UV layer which is used to sample the Light Map, independently of all other maps.
- AO - Ambient Occlusion Map. It must be baked using a third party modeling software. The mesh also has to provide a secondary UV layer which is used to sample the Ambient Occlusion Map, independently of all other maps.
- Compl - Complete Map. It contains a final map that is the color map with all the lighting effects already applied on it. It must be baked using a third party modeling software. The mesh also have to provide a secondary UV layer which is used to sample the Complete Map, independently of all other maps.
- IBL - Image Based Lighting. It’s performed using a Diffuse Environment Map which is a cubemap. It can be generated from a regular environment map either by using third party softwares or by applying the Irradiance Env texture attribute within Aximmetry.
- Tluc - translucency. Displaying incoming light that falls on the opposite side of the surfaces.
- Merged - two different maps (usually an RGB and a grayscale) are merged into one map. For e.g. Merged_Color+Spec: specular map is merged into the alpha channel of the color map.
- Omni - lighting is applied regardless of the surface angle relative to the light source. Essentially like the ambient lighting, but the color and intensity is determined by the diffuse colors of all the light sources affecting the object.
- -UV - each map of the shader has its own Tex Coord Transformation (normally the same transformation is used on all the maps)
- Imp - general shader containing a number of different maps. Can be used as a default shader when importing a model. Later should be replaced with a suitable specific shader.
- PBR - shader uses the Physically Based Rendering model for lighting. It expects Albedo (Color), Metalness, and Roughness maps. If it also has the IBL tag then it uses an Irradiance (or Diffuse) Environment Map and a Specular Environment Map containing pre-filtered versions of the environment in its mapmaps. They can be generated from a regular environment map either by using third party softwares or by applying the Irradiance Env and Specular Env texture attribute within Aximmetry.
- PBR_SPEC - alternative PBR implementation where a colored specular map is used instead of metalness. Also can have the additional IBL tag.