OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
[name].material.json
less
, less_equal
, equal
, not_equal
, greater_equal
, greater
, never
, always
and disabled
"blendblock" : "blendblock_name"
"blendblock" : ["blendblock_name","blendblock_name_for_shadows"]
"macroblock" : "macroblock_name"
"macroblock" : ["macroblock_name","macroblock_name_for_shadows"]
default
: Most physically accurate BRDF Ogre has.cook_torrance
: Cook-Torrance implementation of BRDF.blinn_phong
: Implements Normalized Blinn Phong using a normalization factor of (n + 8) / (8 * pi). Looks similar to default
but has increased performance.default_uncorrelated
: Same as Default, but the geometry term is not height-correlated which most notably causes edges to be dimmer and is less correct.default_separate_diffuse_fresnel
: Same as Default but the fresnel of the diffuse is calculated differently. When using this BRDF, the diffuse fresnel will be calculated differently, causing the diffuse component to still affect the colour even when the fresnel = 1 (although subtly). To achieve a perfect mirror you will have to set the fresnel to 1 and the diffuse colour to black; which can be unintuitive for artists.cook_torrance_separate_diffuse_fresnel
: Similar to 'DefaultSeparateDiffuseFresnel' but the Cook Torrance model is used instead.blinn_phong_separate_diffuse_fresnel
: Similar to 'DefaultSeparateDiffuseFresnel' but uses BlinnPhong as base.blinn_phong_legacy_math
: Implements traditional / the original non-PBR blinn phong. Notes:blinn_phong_full_legacy
: Implements traditional / the original non-PBR blinn phong. Notes:detail_diffuse0
to detail_diffuse3
)mode
: Type string. Blend mode to use for each detail map. This parameter only affects the diffuse detail map. DEFAULT=NormalNonPremul
. Valid values:NormalNonPremul
: Regular alpha blending.NormalPremul
: Premultiplied alpha blending.Add
:Subtract
:Multiply
:Multiply2x
:Screen
:Overlay
:Lighten
:Darken
:GrainExtract
:GrainMerge
:Difference
:offset
: Type Vector2 array. Sets the UV offset of the detail map. DEFAULT=[0,0]sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parameterscale
: Type Vector2 array. Sets the UV scale of the detail map. DEFAULT=[1,1]texture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type float. The weight for the detail map. Usual values are in range [0, 1] but any value is accepted and valid. DEFAULT=1detail_normal0
to detail_normal3
)offset
: Type Vector2 array. Sets the UV offset of the detail normal map. DEFAULT=[0,0]sampler
: Type string. The name of the sampler block definition to apply to the normal map texture. OPTIONAL parameterscale
: Type Vector2 array. Sets the UV scale of the detail normal map. DEFAULT=[1,1]texture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type float. Sets the normal mapping weight. Usual values are in range [0, 1] but any value is accepted and valid. Value of 0 means no effect. DEFAULT=1sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: Texture that when present, will be used as mask/weight for the 4 detail maps. The R channel is used for detail map #0; the G for detail map #1, B for #2, and Alpha for #3. This affects both the diffuse and normal-mapped detail maps. OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0background
: Type vector4 array (RGBA). Sets the diffuse background colour. When no diffuse texture is present, this solid colour replaces it, and can act as a background for the detail maps. Does not replace value
. DEFAULT="[1, 1, 1, 1]"grayscale
: Value is either true or false. When true, it treats the diffuse map as a grayscale map which means it will spread red component to all RGB channels. With this option you can use PFG_R8_UNORM for diffuse map in the same way as old PF_L8 format. DEFAULT=false sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type vector3 array (RGB). Sets the diffuse colour (final multiplier). The colour will be divided by PI for energy conservation. DEFAULT="[1, 1, 1]"lightmap
: Value is either true or false. When set, it treats the emissive map as a lightmap; which means it will be multiplied against the diffuse component. DEFAULT=false sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type vector3 array (RGB). Sets the emissive colour. Emissive colour has no physical basis. Though in HDR, if you're working in lumens, this value should probably be in lumens too. To disable emissive, setEmissive( Vector3::ZERO ) and unset any texture in PBSM_EMISSIVE slot. DEFAULT="[0, 0, 0]"sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametermode
: Type string. Valid values:coeff
: Sets the fresnel (F0) directly, instead of using the IOR.ior
: Calculates fresnel (F0 in most books) based on the IOR. The formula used is ( (1 - idx) / (1 + idx) )². Can't be using metallic workflow.coloured
: Sets the fresnel (F0) directly, instead of using the IOR. Fresnel value uses RGB values from value
parameter.coloured_ior
: Calculates fresnel (F0 in most books) based on the IOR. The formula used is ( (1 - idx) / (1 + idx) )². Fresnel value uses RGB values from value
parameter. Can't be using metallic workflow.texture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Two value variations:sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Note: Only the Red channel will be used, and the texture will be converted to an efficient monochrome representation. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type float, Range [0, 1]. Sets the metalness in a metallic workflow. Overrides any fresnel values. Should be in "metallic" workflow. DEFAULT=0.818sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Note: Only the Red channel will be used, and the texture will be converted to an efficient monochrome representation. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type float, Range is normally [0, 1] but doesn't need to be. Sets the normal map weight. DEFAULT=1sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parametertexture
: OPTIONAL parameter. Note: Only the Red channel will be used, and the texture will be converted to an efficient monochrome representation. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type float, Range (0, inf). Sets the roughness of a material. Note: Values extremely close to zero could cause NaNs and INFs in the pixel shader, also depends on the GPU's precision. DEFAULT=1sampler
: Type string. The name of the sampler block definition to apply to the diffuse texture. OPTIONAL parameter.texture
: OPTIONAL parameter. Two value variations:"texture" : "texture.tga"
"texture" : ["texture.tga","Texture_Alias_Name"]
uv
: Type integer. Sets which UV set to use for the given texture. Value must be between in range [0, 8). DEFAULT=0value
: Type vector3 array (RGB). Sets the specular colour of the material. DEFAULT="[1, 1, 1]"value
: Value range [0, 1]. 0 = fully transparent and 1 = fully opaque. DEFAULT=1mode
: Transparency mode. DEFAULT="None" Valid values: None
: No alpha blending.Fade
: Normal alpha blending. Fade object out until it disappears.Refractive
: Similar to transparent, but also performs refractions. Note: The compositor scene pass must be set to render refractive objects in its own pass.Transparent
: Realistic transparency that preserves lighting reflections. Good for glass, transparent plastic. Note: When transparency = 0, the object may not be fully invisible.use_alpha_from_textures
: When false, the alpha channel of the diffuse and detail maps will be ignored. GPU optimisation. Value can be true or false. DEFAULT=truechangeMacroblock
type [bool]: Whether to change the current macroblock for one that has cullingMode = CULL_NONE or set it to false to leave the current macroblock as is. Set to true in the json interpreter.oneSidedShadowCast
type [CullingMode]: If changeMacroblock == true; this parameter controls the culling mode of the shadow caster (the setting of HlmsManager::setShadowMappingUseBackFaces is ignored!). While oneSidedShadowCast == CULL_NONE is usually the "correct" option, setting oneSidedShadowCast=CULL_ANTICLOCKWISE can prevent ugly self-shadowing on interiors. In the json interpreter, this value is set to the CullingMode of the Macroblock.specular_ogre
: Ogre implementation of specular workflow. Specular texture is used as a specular texture, and is expected to be either coloured or monochrome. setMetalness should not be called in this mode.specular_fresnel
: Equivalent to what other implementations often refer to as "specular workflow". Specular texture is used as a specular texture, and is expected to be either coloured or monochrome. setMetalness should not be called in this mode.metallic
: Metallic workflow. The texture is used as a metallic texture and expected to be monochrome. Fresnel setting should not be used.