History: Ogre V2 for dummies
Source of version: 4
Copy to clipboard
!!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, but Ogre includes tow 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 [http://wiki.polycount.com/wiki/PBR|Polycount wiki] for more information
*Unlit - Unlit rendering; the textures in the material are not affected by light
{img fileId="1759" thumb="y" width = "24" height = "24" rel="box[g]"}
Note, that there are 2 other HLMS implementations named PbsMobile and UnlitMobile. They are used for GLES2 rendering and may not be completely on-par with the regular Pbs and Unlit verions.
Materials can be loaded and saved as a file, but unlike the previous material system, the format of the HLMS materials is Json.
!!!Material structure
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 data [0..32]blocks
|_ 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
!!!Pbs
The Pbs material
!!!Unlit
!!Material workflow