1MaterialDef Advanced Water { 2 3 MaterialParameters { 4 Int NumSamples 5 Int NumSamplesDepth 6 Texture2D FoamMap 7 Texture2D CausticsMap 8 Texture2D NormalMap 9 Texture2D ReflectionMap 10 Texture2D HeightMap 11 Texture2D Texture 12 Texture2D DepthTexture 13 Vector3 CameraPosition 14 Float Time 15 Vector3 frustumCorner 16 Matrix4 TextureProjMatrix 17 Matrix4 ViewProjectionMatrixInverse 18 Float WaterHeight 19 Vector3 LightDir 20 Float WaterTransparency 21 Float NormalScale 22 Float R0 23 Float MaxAmplitude 24 Color LightColor 25 Float ShoreHardness 26 Float FoamHardness 27 Float RefractionStrength 28 Float WaveScale 29 Vector3 FoamExistence 30 Float SunScale 31 Vector3 ColorExtinction 32 Float Shininess 33 Color WaterColor 34 Color DeepWaterColor 35 Vector2 WindDirection 36 Float ReflectionDisplace 37 Float FoamIntensity 38 Float CausticsIntensity 39 Float UnderWaterFogDistance 40 41 Boolean UseRipples 42 Boolean UseHQShoreline 43 Boolean UseSpecular 44 Boolean UseFoam 45 Boolean UseCaustics 46 Boolean UseRefraction 47 48 } 49 50 Technique { 51 VertexShader GLSL150 : Common/MatDefs/Post/Post15.vert 52 FragmentShader GLSL150 : Common/MatDefs/Water/Water15.frag 53 54 WorldParameters { 55 WorldViewProjectionMatrix 56 } 57 58 Defines { 59 RESOLVE_MS : NumSamples 60 RESOLVE_DEPTH_MS : NumSamplesDepth 61 ENABLE_RIPPLES : UseRipples 62 ENABLE_HQ_SHORELINE : UseHQShoreline 63 ENABLE_SPECULAR : UseSpecular 64 ENABLE_FOAM : UseFoam 65 ENABLE_CAUSTICS : UseCaustics 66 ENABLE_REFRACTION : UseRefraction 67 } 68 } 69 70 Technique { 71 VertexShader GLSL100 : Common/MatDefs/Post/Post.vert 72 FragmentShader GLSL120 : Common/MatDefs/Water/Water.frag 73 74 WorldParameters { 75 WorldViewProjectionMatrix 76 } 77 Defines { 78 ENABLE_RIPPLES : UseRipples 79 ENABLE_HQ_SHORELINE : UseHQShoreline 80 ENABLE_SPECULAR : UseSpecular 81 ENABLE_FOAM : UseFoam 82 ENABLE_CAUSTICS : UseCaustics 83 ENABLE_REFRACTION : UseRefraction 84 85 } 86 } 87 88 Technique FixedFunc { 89 } 90}