If you haven't done so already, be sure to visit the Wiki Portal to read about how the wiki works. Especially the Ogre Wiki Overview page.
High Level Materials System (HLMS)
HLMS is the new material system replacing the old material system of earlier Ogre versions. This doesn't mean that the old material system is completely gone, but for most of the cases the HLMS materials are sufficient. The HLMS system is extendable, e.g. you can implement a 'skin' or 'fur' HLMS yourself. Ogre includes two HLMS flavours out-of-the-box:
- PBS - Physically Based Shading; an approach for materials and rendering that creates more accurate and predictable results than previous game rendering techniques Polycount wiki for more information
- Unlit - Unlit rendering; the textures in the material are not affected by light
Materials can be loaded and saved as a file, but unlike the previous material system, the format of the HLMS materials is Json.
A material consists of a certain structure:
Datablock - contains individual information about a specific material and may 'consist' of:
|_ Samplerblock (0..32); A sampler block contains the properties of a texture
|_ Macroblock (0..32); Describes the rasterizer state and includes properties such as depth check, depth write, cull mode, ... Macrcoblocks may be shared between datablocks
|_ Blendblock (0..32); Also describes the rasterizer state, but is separated from macroblocks because of sorting of transparent materials. Blendblocks may be shared between datablocks
The Pbs material is probably the most used material. It is build up by using different texture maps. A texture map is an image that can be loaded from a .png or .jpg file for example:
- Diffuse map;
- Normal map;
- Specular / Metallic map;
- Roughness map;
- Detail weight map; It provides a mask to cover detail maps over the mesh, by controlling weight of each of the 4 maps via the RGBA channels of the weight map. 'R' controls the detail map 0, 'G' the detail map 1, 'B' the detail map 2, and 'A' the detail map 3
- Detail map 0;
- Detail map 1;
- Detail map 2;
- Detail map 3;
- Detail normal map 0;
- Detail normal map 1;
- Detail normal map 2;
- Detail normal map 3;
- Environmap probe map;
The content on this page is licensed under the terms of the Creative Commons Attribution-ShareAlike License.
As an exception, any source code contributed within the content is released into the Public Domain.