1MaterialDef Phong Lighting { 2 3 MaterialParameters { 4 5 // Compute vertex lighting in the shader 6 // For better performance 7 Boolean VertexLighting 8 9 // Use more efficent algorithms to improve performance 10 Boolean LowQuality 11 12 // Improve quality at the cost of performance 13 Boolean HighQuality 14 15 // Output alpha from the diffuse map 16 Boolean UseAlpha 17 18 // Apha threshold for fragment discarding 19 Float AlphaDiscardThreshold 20 21 // Normal map is in BC5/ATI2n/LATC/3Dc compression format 22 Boolean LATC 23 24 // Use the provided ambient, diffuse, and specular colors 25 Boolean UseMaterialColors 26 27 // Activate shading along the tangent, instead of the normal 28 // Requires tangent data to be available on the model. 29 Boolean VTangent 30 31 // Use minnaert diffuse instead of lambert 32 Boolean Minnaert 33 34 // Use ward specular instead of phong 35 Boolean WardIso 36 37 // Use vertex color as an additional diffuse color. 38 Boolean UseVertexColor 39 40 // Ambient color 41 Color Ambient (MaterialAmbient) 42 43 // Diffuse color 44 Color Diffuse (MaterialDiffuse) 45 46 // Specular color 47 Color Specular (MaterialSpecular) 48 49 // Specular power/shininess 50 Float Shininess (MaterialShininess) : 1 51 52 // Diffuse map 53 Texture2D DiffuseMap 54 55 // Normal map 56 Texture2D NormalMap 57 58 // Specular/gloss map 59 Texture2D SpecularMap 60 61 // Parallax/height map 62 Texture2D ParallaxMap 63 64 //Set to true is parallax map is stored in the alpha channel of the normal map 65 Boolean PackedNormalParallax 66 67 //Sets the relief height for parallax mapping 68 Float ParallaxHeight : 0.05 69 70 //Set to true to activate Steep Parallax mapping 71 Boolean SteepParallax 72 73 // Texture that specifies alpha values 74 Texture2D AlphaMap 75 76 // Color ramp, will map diffuse and specular values through it. 77 Texture2D ColorRamp 78 79 // Texture of the glowing parts of the material 80 Texture2D GlowMap 81 82 // Set to Use Lightmap 83 Texture2D LightMap 84 85 // Set to use TexCoord2 for the lightmap sampling 86 Boolean SeparateTexCoord 87 88 // The glow color of the object 89 Color GlowColor 90 91 // Parameters for fresnel 92 // X = bias 93 // Y = scale 94 // Z = power 95 Vector3 FresnelParams 96 97 // Env Map for reflection 98 TextureCubeMap EnvMap 99 100 // the env map is a spheremap and not a cube map 101 Boolean EnvMapAsSphereMap 102 } 103 104 Technique { 105 106 LightMode MultiPass 107 108 VertexShader GLSL100: Common/MatDefs/Light/Lighting.vert 109 FragmentShader GLSL100: Common/MatDefs/Light/Lighting.frag 110 111 WorldParameters { 112 WorldViewProjectionMatrix 113 NormalMatrix 114 WorldViewMatrix 115 ViewMatrix 116 CameraPosition 117 WorldMatrix 118 } 119 120 Defines { 121 LATC : LATC 122 VERTEX_COLOR : UseVertexColor 123 VERTEX_LIGHTING : VertexLighting 124 ATTENUATION : Attenuation 125 MATERIAL_COLORS : UseMaterialColors 126 V_TANGENT : VTangent 127 MINNAERT : Minnaert 128 WARDISO : WardIso 129 LOW_QUALITY : LowQuality 130 HQ_ATTENUATION : HighQuality 131 132 DIFFUSEMAP : DiffuseMap 133 NORMALMAP : NormalMap 134 SPECULARMAP : SpecularMap 135 PARALLAXMAP : ParallaxMap 136 NORMALMAP_PARALLAX : PackedNormalParallax 137 STEEP_PARALLAX : SteepParallax 138 ALPHAMAP : AlphaMap 139 COLORRAMP : ColorRamp 140 LIGHTMAP : LightMap 141 SEPARATE_TEXCOORD : SeparateTexCoord 142 143 USE_REFLECTION : EnvMap 144 SPHERE_MAP : SphereMap 145 } 146 } 147 148 Technique PreShadow { 149 150 VertexShader GLSL100 : Common/MatDefs/Shadow/PreShadow.vert 151 FragmentShader GLSL100 : Common/MatDefs/Shadow/PreShadow.frag 152 153 WorldParameters { 154 WorldViewProjectionMatrix 155 WorldViewMatrix 156 } 157 158 Defines { 159 DIFFUSEMAP_ALPHA : DiffuseMap 160 } 161 162 RenderState { 163 FaceCull Off 164 DepthTest On 165 DepthWrite On 166 PolyOffset 5 0 167 ColorWrite Off 168 } 169 170 } 171 172 Technique PreNormalPass { 173 174 VertexShader GLSL100 : Common/MatDefs/SSAO/normal.vert 175 FragmentShader GLSL100 : Common/MatDefs/SSAO/normal.frag 176 177 WorldParameters { 178 WorldViewProjectionMatrix 179 WorldViewMatrix 180 NormalMatrix 181 } 182 183 Defines { 184 DIFFUSEMAP_ALPHA : DiffuseMap 185 } 186 187 RenderState { 188 189 } 190 191 } 192 193 Technique GBuf { 194 195 VertexShader GLSL100: Common/MatDefs/Light/GBuf.vert 196 FragmentShader GLSL100: Common/MatDefs/Light/GBuf.frag 197 198 WorldParameters { 199 WorldViewProjectionMatrix 200 NormalMatrix 201 WorldViewMatrix 202 WorldMatrix 203 } 204 205 Defines { 206 VERTEX_COLOR : UseVertexColor 207 MATERIAL_COLORS : UseMaterialColors 208 V_TANGENT : VTangent 209 MINNAERT : Minnaert 210 WARDISO : WardIso 211 212 DIFFUSEMAP : DiffuseMap 213 NORMALMAP : NormalMap 214 SPECULARMAP : SpecularMap 215 PARALLAXMAP : ParallaxMap 216 } 217 } 218 219 Technique FixedFunc { 220 LightMode FixedPipeline 221 } 222 223 Technique Glow { 224 225 VertexShader GLSL100: Common/MatDefs/Misc/SimpleTextured.vert 226 FragmentShader GLSL100: Common/MatDefs/Light/Glow.frag 227 228 WorldParameters { 229 WorldViewProjectionMatrix 230 } 231 232 Defines { 233 HAS_GLOWMAP : GlowMap 234 HAS_GLOWCOLOR : GlowColor 235 } 236 } 237 238}