| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- 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
- // 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
- Vector3 LightDir
- Float PCFEdge
- Float ShadowMapSize
- // For hardware skinning
- Int NumberOfBones
- Matrix4Array BoneMatrices
- }
- Technique {
- LightMode MultiPass
- VertexShader GLSL100: Common/MatDefs/Light/Lighting.vert
- FragmentShader GLSL100: Common/MatDefs/Light/Lighting.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
- }
- }
- Technique PreShadow {
- VertexShader GLSL100 : Common/MatDefs/Shadow/PreShadow.vert
- FragmentShader GLSL100 : 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 GLSL100: Common/MatDefs/Shadow/PostShadow.vert
- FragmentShader GLSL100: 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 GLSL100 : Common/MatDefs/SSAO/normal.vert
- FragmentShader GLSL100 : Common/MatDefs/SSAO/normal.frag
- WorldParameters {
- WorldViewProjectionMatrix
- WorldViewMatrix
- NormalMatrix
- }
- Defines {
- DIFFUSEMAP_ALPHA : DiffuseMap
- NUM_BONES : NumberOfBones
- }
- }
- Technique PreNormalPassDerivative {
- VertexShader GLSL100 : Common/MatDefs/MSSAO/normal.vert
- FragmentShader GLSL100 : Common/MatDefs/MSSAO/normal.frag
- WorldParameters {
- WorldViewProjectionMatrix
- WorldViewMatrix
- NormalMatrix
- }
- Defines {
- DIFFUSEMAP_ALPHA : DiffuseMap
- NUM_BONES : NumberOfBones
- }
- }
- Technique GBuf {
- VertexShader GLSL100: Common/MatDefs/Light/GBuf.vert
- FragmentShader GLSL100: 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 {
- LightMode FixedPipeline
- }
- Technique Glow {
- VertexShader GLSL100: Common/MatDefs/Misc/Unshaded.vert
- FragmentShader GLSL100: Common/MatDefs/Light/Glow.frag
- WorldParameters {
- WorldViewProjectionMatrix
- }
- Defines {
- NEED_TEXCOORD1
- HAS_GLOWMAP : GlowMap
- HAS_GLOWCOLOR : GlowColor
- NUM_BONES : NumberOfBones
- }
- }
- }
|