1// NOTE: Doesn't support OpenGL1 2MaterialDef Terrain Lighting { 3 4 MaterialParameters { 5 6 // use tri-planar mapping 7 Boolean useTriPlanarMapping 8 9 // Use ward specular instead of phong 10 Boolean WardIso 11 12 // Are we rendering TerrainGrid 13 Boolean isTerrainGrid 14 15 // Ambient color 16 Color Ambient 17 18 // Diffuse color 19 Color Diffuse 20 21 // Specular color 22 Color Specular 23 24 // Specular power/shininess 25 Float Shininess : 1 26 27 // Texture map #0 28 Texture2D DiffuseMap 29 Float DiffuseMap_0_scale 30 Texture2D NormalMap 31 32 // Texture map #1 33 Texture2D DiffuseMap_1 34 Float DiffuseMap_1_scale 35 Texture2D NormalMap_1 36 37 // Texture map #2 38 Texture2D DiffuseMap_2 39 Float DiffuseMap_2_scale 40 Texture2D NormalMap_2 41 42 // Texture map #3 43 Texture2D DiffuseMap_3 44 Float DiffuseMap_3_scale 45 Texture2D NormalMap_3 46 47 // Texture map #4 48 Texture2D DiffuseMap_4 49 Float DiffuseMap_4_scale 50 Texture2D NormalMap_4 51 52 // Texture map #5 53 Texture2D DiffuseMap_5 54 Float DiffuseMap_5_scale 55 Texture2D NormalMap_5 56 57 // Texture map #6 58 Texture2D DiffuseMap_6 59 Float DiffuseMap_6_scale 60 Texture2D NormalMap_6 61 62 // Texture map #7 63 Texture2D DiffuseMap_7 64 Float DiffuseMap_7_scale 65 Texture2D NormalMap_7 66 67 // Texture map #8 68 Texture2D DiffuseMap_8 69 Float DiffuseMap_8_scale 70 Texture2D NormalMap_8 71 72 // Texture map #9 73 Texture2D DiffuseMap_9 74 Float DiffuseMap_9_scale 75 Texture2D NormalMap_9 76 77 // Texture map #10 78 Texture2D DiffuseMap_10 79 Float DiffuseMap_10_scale 80 Texture2D NormalMap_10 81 82 // Texture map #11 83 Texture2D DiffuseMap_11 84 Float DiffuseMap_11_scale 85 Texture2D NormalMap_11 86 87 88 // Specular/gloss map 89 Texture2D SpecularMap 90 91 92 // Texture that specifies alpha values 93 Texture2D AlphaMap 94 Texture2D AlphaMap_1 95 Texture2D AlphaMap_2 96 97 // Texture of the glowing parts of the material 98 Texture2D GlowMap 99 100 // The glow color of the object 101 Color GlowColor 102 } 103 104 Technique { 105 106 LightMode MultiPass 107 108 VertexShader GLSL100: Common/MatDefs/Terrain/TerrainLighting.vert 109 FragmentShader GLSL100: Common/MatDefs/Terrain/TerrainLighting.frag 110 111 WorldParameters { 112 WorldViewProjectionMatrix 113 NormalMatrix 114 WorldViewMatrix 115 ViewMatrix 116 } 117 118 Defines { 119 TRI_PLANAR_MAPPING : useTriPlanarMapping 120 TERRAIN_GRID : isTerrainGrid 121 WARDISO : WardIso 122 123 DIFFUSEMAP : DiffuseMap 124 DIFFUSEMAP_1 : DiffuseMap_1 125 DIFFUSEMAP_2 : DiffuseMap_2 126 DIFFUSEMAP_3 : DiffuseMap_3 127 DIFFUSEMAP_4 : DiffuseMap_4 128 DIFFUSEMAP_5 : DiffuseMap_5 129 DIFFUSEMAP_6 : DiffuseMap_6 130 DIFFUSEMAP_7 : DiffuseMap_7 131 DIFFUSEMAP_8 : DiffuseMap_8 132 DIFFUSEMAP_9 : DiffuseMap_9 133 DIFFUSEMAP_10 : DiffuseMap_10 134 DIFFUSEMAP_11 : DiffuseMap_11 135 NORMALMAP : NormalMap 136 NORMALMAP_1 : NormalMap_1 137 NORMALMAP_2 : NormalMap_2 138 NORMALMAP_3 : NormalMap_3 139 NORMALMAP_4 : NormalMap_4 140 NORMALMAP_5 : NormalMap_5 141 NORMALMAP_6 : NormalMap_6 142 NORMALMAP_7 : NormalMap_7 143 NORMALMAP_8 : NormalMap_8 144 NORMALMAP_9 : NormalMap_9 145 NORMALMAP_10 : NormalMap_10 146 NORMALMAP_11 : NormalMap_11 147 SPECULARMAP : SpecularMap 148 ALPHAMAP : AlphaMap 149 ALPHAMAP_1 : AlphaMap_1 150 ALPHAMAP_2 : AlphaMap_2 151 DIFFUSEMAP_0_SCALE : DiffuseMap_0_scale 152 DIFFUSEMAP_1_SCALE : DiffuseMap_1_scale 153 DIFFUSEMAP_2_SCALE : DiffuseMap_2_scale 154 DIFFUSEMAP_3_SCALE : DiffuseMap_3_scale 155 DIFFUSEMAP_4_SCALE : DiffuseMap_4_scale 156 DIFFUSEMAP_5_SCALE : DiffuseMap_5_scale 157 DIFFUSEMAP_6_SCALE : DiffuseMap_6_scale 158 DIFFUSEMAP_7_SCALE : DiffuseMap_7_scale 159 DIFFUSEMAP_8_SCALE : DiffuseMap_8_scale 160 DIFFUSEMAP_9_SCALE : DiffuseMap_9_scale 161 DIFFUSEMAP_10_SCALE : DiffuseMap_10_scale 162 DIFFUSEMAP_11_SCALE : DiffuseMap_11_scale 163 } 164 } 165 166 Technique PreShadow { 167 168 VertexShader GLSL100 : Common/MatDefs/Shadow/PreShadow.vert 169 FragmentShader GLSL100 : Common/MatDefs/Shadow/PreShadow.frag 170 171 WorldParameters { 172 WorldViewProjectionMatrix 173 WorldViewMatrix 174 } 175 176 Defines { 177 DIFFUSEMAP_ALPHA : DiffuseMap 178 } 179 180 RenderState { 181 FaceCull Off 182 DepthTest On 183 DepthWrite On 184 PolyOffset 5 0 185 ColorWrite Off 186 } 187 188 } 189 190 Technique PreNormalPass { 191 192 VertexShader GLSL100 : Common/MatDefs/SSAO/normal.vert 193 FragmentShader GLSL100 : Common/MatDefs/SSAO/normal.frag 194 195 WorldParameters { 196 WorldViewProjectionMatrix 197 WorldViewMatrix 198 NormalMatrix 199 } 200 201 Defines { 202 DIFFUSEMAP_ALPHA : DiffuseMap 203 } 204 205 RenderState { 206 207 } 208 209 } 210 211 Technique GBuf { 212 213 VertexShader GLSL100: Common/MatDefs/Light/GBuf.vert 214 FragmentShader GLSL100: Common/MatDefs/Light/GBuf.frag 215 216 WorldParameters { 217 WorldViewProjectionMatrix 218 WorldMatrix 219 } 220 221 Defines { 222 VERTEX_COLOR : UseVertexColor 223 MATERIAL_COLORS : UseMaterialColors 224 V_TANGENT : VTangent 225 MINNAERT : Minnaert 226 WARDISO : WardIso 227 228 DIFFUSEMAP : DiffuseMap 229 NORMALMAP : NormalMap 230 SPECULARMAP : SpecularMap 231 PARALLAXMAP : ParallaxMap 232 } 233 } 234 235 Technique FixedFunc { 236 LightMode FixedPipeline 237 } 238 239 Technique Glow { 240 241 VertexShader GLSL100: Common/MatDefs/Misc/SimpleTextured.vert 242 FragmentShader GLSL100: Common/MatDefs/Light/Glow.frag 243 244 WorldParameters { 245 WorldViewProjectionMatrix 246 } 247 248 Defines { 249 HAS_GLOWMAP : GlowMap 250 HAS_GLOWCOLOR : GlowColor 251 } 252 } 253 254}