353 lines
9.3 KiB
Plaintext
353 lines
9.3 KiB
Plaintext
MaterialDef Phong Lighting {
|
|
|
|
MaterialParameters {
|
|
|
|
// Compute vertex lighting in the shader
|
|
// For better performance
|
|
Boolean VertexLighting
|
|
|
|
// Use more efficent algorithms to improve performance
|
|
Boolean LowQuality
|
|
|
|
// Improve quality at the cost of performance
|
|
Boolean HighQuality
|
|
|
|
// Output alpha from the diffuse map
|
|
Boolean UseAlpha
|
|
|
|
// Alpha threshold for fragment discarding
|
|
Float AlphaDiscardThreshold (AlphaTestFallOff)
|
|
|
|
// Normal map is in BC5/ATI2n/LATC/3Dc compression format
|
|
Boolean LATC
|
|
|
|
// Use the provided ambient, diffuse, and specular colors
|
|
Boolean UseMaterialColors
|
|
|
|
// Activate shading along the tangent, instead of the normal
|
|
// Requires tangent data to be available on the model.
|
|
Boolean VTangent
|
|
|
|
// Use minnaert diffuse instead of lambert
|
|
Boolean Minnaert
|
|
|
|
// Use ward specular instead of phong
|
|
Boolean WardIso
|
|
|
|
// Use vertex color as an additional diffuse color.
|
|
Boolean UseVertexColor
|
|
|
|
// Ambient color
|
|
Color Ambient (MaterialAmbient)
|
|
|
|
// Diffuse color
|
|
Color Diffuse (MaterialDiffuse)
|
|
|
|
// Specular color
|
|
Color Specular (MaterialSpecular)
|
|
|
|
// Specular power/shininess
|
|
Float Shininess (MaterialShininess) : 1
|
|
|
|
// Diffuse map
|
|
Texture2D DiffuseMap
|
|
|
|
// Diffuse map
|
|
Texture2D BackgroundDiffuseMap
|
|
|
|
// Diffuse map
|
|
Texture2D NoiseMap
|
|
|
|
// Normal map
|
|
Texture2D NormalMap
|
|
|
|
// Specular/gloss map
|
|
Texture2D SpecularMap
|
|
|
|
// Parallax/height map
|
|
Texture2D ParallaxMap
|
|
|
|
//Set to true is parallax map is stored in the alpha channel of the normal map
|
|
Boolean PackedNormalParallax
|
|
|
|
//Sets the relief height for parallax mapping
|
|
Float ParallaxHeight : 0.05
|
|
|
|
//Set to true to activate Steep Parallax mapping
|
|
Boolean SteepParallax
|
|
|
|
// Texture that specifies alpha values
|
|
Texture2D AlphaMap
|
|
|
|
// Color ramp, will map diffuse and specular values through it.
|
|
Texture2D ColorRamp
|
|
|
|
// Texture of the glowing parts of the material
|
|
Texture2D GlowMap
|
|
|
|
// Set to Use Lightmap
|
|
Texture2D LightMap
|
|
|
|
// Set to use TexCoord2 for the lightmap sampling
|
|
Boolean SeparateTexCoord
|
|
|
|
// The glow color of the object
|
|
Color GlowColor
|
|
|
|
// Parameters for fresnel
|
|
// X = bias
|
|
// Y = scale
|
|
// Z = power
|
|
Vector3 FresnelParams
|
|
|
|
// Env Map for reflection
|
|
TextureCubeMap EnvMap
|
|
|
|
// the env map is a spheremap and not a cube map
|
|
Boolean EnvMapAsSphereMap
|
|
|
|
//shadows
|
|
Int FilterMode
|
|
Boolean HardwareShadows
|
|
|
|
Texture2D ShadowMap0
|
|
Texture2D ShadowMap1
|
|
Texture2D ShadowMap2
|
|
Texture2D ShadowMap3
|
|
//pointLights
|
|
Texture2D ShadowMap4
|
|
Texture2D ShadowMap5
|
|
|
|
Float ShadowIntensity
|
|
Vector4 Splits
|
|
Vector2 FadeInfo
|
|
|
|
Matrix4 LightViewProjectionMatrix0
|
|
Matrix4 LightViewProjectionMatrix1
|
|
Matrix4 LightViewProjectionMatrix2
|
|
Matrix4 LightViewProjectionMatrix3
|
|
//pointLight
|
|
Matrix4 LightViewProjectionMatrix4
|
|
Matrix4 LightViewProjectionMatrix5
|
|
Vector3 LightPos
|
|
|
|
Float PCFEdge
|
|
Float ShadowMapSize
|
|
|
|
// For hardware skinning
|
|
Int NumberOfBones
|
|
Matrix4Array BoneMatrices
|
|
|
|
|
|
// Ground scattering parameters
|
|
Boolean UseScattering
|
|
Vector3 SunPosition
|
|
Float Exposure
|
|
Float KmESun
|
|
Float InnerRadius
|
|
Float RadiusScale
|
|
Float PlanetScale : 1
|
|
Vector3 InvWavelengthsKrESun
|
|
Float AverageDensityScale
|
|
Float InvAverageDensityHeight;
|
|
Vector3 KWavelengths4PI;
|
|
|
|
}
|
|
|
|
Technique {
|
|
|
|
LightMode MultiPass
|
|
|
|
VertexShader GLSL110: MatDefs/MultiResolution.vert
|
|
FragmentShader GLSL110: MatDefs/MultiResolution.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
NormalMatrix
|
|
WorldViewMatrix
|
|
ViewMatrix
|
|
CameraPosition
|
|
WorldMatrix
|
|
}
|
|
|
|
Defines {
|
|
LATC : LATC
|
|
VERTEX_COLOR : UseVertexColor
|
|
VERTEX_LIGHTING : VertexLighting
|
|
ATTENUATION : Attenuation
|
|
MATERIAL_COLORS : UseMaterialColors
|
|
V_TANGENT : VTangent
|
|
MINNAERT : Minnaert
|
|
WARDISO : WardIso
|
|
LOW_QUALITY : LowQuality
|
|
HQ_ATTENUATION : HighQuality
|
|
|
|
DIFFUSEMAP : DiffuseMap
|
|
NORMALMAP : NormalMap
|
|
SPECULARMAP : SpecularMap
|
|
PARALLAXMAP : ParallaxMap
|
|
NORMALMAP_PARALLAX : PackedNormalParallax
|
|
STEEP_PARALLAX : SteepParallax
|
|
ALPHAMAP : AlphaMap
|
|
COLORRAMP : ColorRamp
|
|
LIGHTMAP : LightMap
|
|
SEPARATE_TEXCOORD : SeparateTexCoord
|
|
|
|
USE_REFLECTION : EnvMap
|
|
SPHERE_MAP : SphereMap
|
|
|
|
NUM_BONES : NumberOfBones
|
|
|
|
USE_SCATTERING : UseScattering
|
|
}
|
|
}
|
|
|
|
Technique PreShadow {
|
|
|
|
VertexShader GLSL110 : Common/MatDefs/Shadow/PreShadow.vert
|
|
FragmentShader GLSL110 : Common/MatDefs/Shadow/PreShadow.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
WorldViewMatrix
|
|
}
|
|
|
|
Defines {
|
|
COLOR_MAP : ColorMap
|
|
DISCARD_ALPHA : AlphaDiscardThreshold
|
|
NUM_BONES : NumberOfBones
|
|
}
|
|
|
|
ForcedRenderState {
|
|
FaceCull Off
|
|
DepthTest On
|
|
DepthWrite On
|
|
PolyOffset 5 3
|
|
ColorWrite Off
|
|
}
|
|
|
|
}
|
|
|
|
|
|
Technique PostShadow15{
|
|
VertexShader GLSL150: Common/MatDefs/Shadow/PostShadow15.vert
|
|
FragmentShader GLSL150: Common/MatDefs/Shadow/PostShadow15.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
WorldMatrix
|
|
}
|
|
|
|
Defines {
|
|
HARDWARE_SHADOWS : HardwareShadows
|
|
FILTER_MODE : FilterMode
|
|
PCFEDGE : PCFEdge
|
|
DISCARD_ALPHA : AlphaDiscardThreshold
|
|
COLOR_MAP : ColorMap
|
|
SHADOWMAP_SIZE : ShadowMapSize
|
|
FADE : FadeInfo
|
|
PSSM : Splits
|
|
POINTLIGHT : LightViewProjectionMatrix5
|
|
NUM_BONES : NumberOfBones
|
|
}
|
|
|
|
ForcedRenderState {
|
|
Blend Modulate
|
|
DepthWrite Off
|
|
PolyOffset -0.1 0
|
|
}
|
|
}
|
|
|
|
Technique PostShadow{
|
|
VertexShader GLSL110: Common/MatDefs/Shadow/PostShadow.vert
|
|
FragmentShader GLSL110: Common/MatDefs/Shadow/PostShadow.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
WorldMatrix
|
|
}
|
|
|
|
Defines {
|
|
HARDWARE_SHADOWS : HardwareShadows
|
|
FILTER_MODE : FilterMode
|
|
PCFEDGE : PCFEdge
|
|
DISCARD_ALPHA : AlphaDiscardThreshold
|
|
COLOR_MAP : ColorMap
|
|
SHADOWMAP_SIZE : ShadowMapSize
|
|
FADE : FadeInfo
|
|
PSSM : Splits
|
|
POINTLIGHT : LightViewProjectionMatrix5
|
|
NUM_BONES : NumberOfBones
|
|
}
|
|
|
|
ForcedRenderState {
|
|
Blend Modulate
|
|
DepthWrite Off
|
|
PolyOffset -0.1 0
|
|
}
|
|
}
|
|
|
|
Technique PreNormalPass {
|
|
|
|
VertexShader GLSL110 : Common/MatDefs/SSAO/normal.vert
|
|
FragmentShader GLSL110 : Common/MatDefs/SSAO/normal.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
WorldViewMatrix
|
|
NormalMatrix
|
|
}
|
|
|
|
Defines {
|
|
DIFFUSEMAP_ALPHA : DiffuseMap
|
|
NUM_BONES : NumberOfBones
|
|
}
|
|
|
|
}
|
|
|
|
Technique GBuf {
|
|
|
|
VertexShader GLSL110: Common/MatDefs/Light/GBuf.vert
|
|
FragmentShader GLSL110: Common/MatDefs/Light/GBuf.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
NormalMatrix
|
|
WorldViewMatrix
|
|
WorldMatrix
|
|
}
|
|
|
|
Defines {
|
|
VERTEX_COLOR : UseVertexColor
|
|
MATERIAL_COLORS : UseMaterialColors
|
|
V_TANGENT : VTangent
|
|
MINNAERT : Minnaert
|
|
WARDISO : WardIso
|
|
|
|
DIFFUSEMAP : DiffuseMap
|
|
NORMALMAP : NormalMap
|
|
SPECULARMAP : SpecularMap
|
|
PARALLAXMAP : ParallaxMap
|
|
}
|
|
}
|
|
|
|
Technique Glow {
|
|
|
|
VertexShader GLSL110: Common/MatDefs/Misc/Unshaded.vert
|
|
FragmentShader GLSL110: Common/MatDefs/Light/Glow.frag
|
|
|
|
WorldParameters {
|
|
WorldViewProjectionMatrix
|
|
}
|
|
|
|
Defines {
|
|
NEED_TEXCOORD1
|
|
HAS_GLOWMAP : GlowMap
|
|
HAS_GLOWCOLOR : GlowColor
|
|
|
|
NUM_BONES : NumberOfBones
|
|
}
|
|
}
|
|
|
|
}
|