diff --git a/Effects/water-dds.eff b/Effects/water-dds.eff new file mode 100644 index 000000000..90c59d8b9 --- /dev/null +++ b/Effects/water-dds.eff @@ -0,0 +1,50 @@ + + + Effects/water-dds + Effects/water + + + Textures/Water/water-reflection.dds + linear-mipmap-linear + repeat + repeat + normalized + + + Textures/Water/waves-ver10-nm.dds + linear-mipmap-linear + repeat + repeat + normalized + + + Textures/Water/water_sine_nmap.dds + linear-mipmap-linear + repeat + repeat + normalized + + + Textures/Water/water-reflection-grey.dds + linear-mipmap-linear + repeat + repeat + normalized + + + Textures/Water/sea_foam.dds + linear-mipmap-linear + repeat + repeat + normalized + + + Textures/Water/perlin-noise-nm.dds + linear-mipmap-linear + repeat + repeat + normalized + + 1.0 + + diff --git a/Effects/water.eff b/Effects/water.eff index 4a886557a..05e542ba0 100644 --- a/Effects/water.eff +++ b/Effects/water.eff @@ -11,14 +11,14 @@ normalized - Textures/Water/waves-ver10-nm.dds + Textures/Water/waves-ver10-nm.png linear-mipmap-linear repeat repeat normalized - Textures/Water/water_sine_nmap.dds + Textures/Water/water_sine_nmap.png linear-mipmap-linear repeat repeat @@ -32,19 +32,20 @@ normalized - Textures/Water/sea_foam.dds + Textures/Water/sea_foam.png linear-mipmap-linear repeat repeat normalized - Textures/Water/perlin-noise-nm.dds + Textures/Water/perlin-noise-nm.png linear-mipmap-linear repeat repeat normalized + 0.0 /rendering/scene/saturation @@ -331,6 +332,14 @@ sampler-2d 6 + + + normalmap_dds + float + + normalmap_dds + + saturation float @@ -542,7 +551,7 @@ render-bin/bin-name - + 0 @@ -687,6 +696,14 @@ sampler-2d 6 + + + normalmap_dds + float + + normalmap_dds + + saturation float @@ -1044,6 +1061,14 @@ sampler-2d 6 + + + normalmap_dds + float + + normalmap_dds + + saturation float diff --git a/Materials/base/materials-base.xml b/Materials/base/materials-base.xml index fd2e0a0f2..eef967c73 100644 --- a/Materials/base/materials-base.xml +++ b/Materials/base/materials-base.xml @@ -400,111 +400,6 @@ Shared parameters for various materials. 0.1 - - Ocean - Effects/water - Terrain/water.png - 400 - 400 - - 40000 - - Models/Geometry/container_carrier.ac - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/ContainerShip.xml - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/Trawler.xml - 500000000 - random - - - Models/Maritime/Civilian/Trawler.xml - 500000000 - random - - - Models/Maritime/Civilian/Trawler.xml - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/Freighter.xml - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/LargeTrawler.xml - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/SailBoatUnderSail.xml - 500000000 - random - - - - 40000 - - Models/Maritime/Civilian/CruiseShip.xml - 5000000000 - random - - - - 40000 - - Models/Maritime/Civilian/MPPShip.xml - 5000000000 - random - - - - 0.0 - 0.0 - 0.0 - 1.0 - - - 0.4 - 0.4 - 0.4 - 1.0 - - - 0.0 - 0.0 - 0.2 - 1.0 - - 0 - 0 - 2 - 0.8 - - - BarrenCover Dirt diff --git a/Materials/base/water.xml b/Materials/base/water.xml new file mode 100644 index 000000000..40714baf0 --- /dev/null +++ b/Materials/base/water.xml @@ -0,0 +1,102 @@ + + + +400 + 400 + + 40000 + + Models/Geometry/container_carrier.ac + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/ContainerShip.xml + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/Trawler.xml + 500000000 + random + + + Models/Maritime/Civilian/Trawler.xml + 500000000 + random + + + Models/Maritime/Civilian/Trawler.xml + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/Freighter.xml + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/LargeTrawler.xml + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/SailBoatUnderSail.xml + 500000000 + random + + + + 40000 + + Models/Maritime/Civilian/CruiseShip.xml + 5000000000 + random + + + + 40000 + + Models/Maritime/Civilian/MPPShip.xml + 5000000000 + random + + + + 0.0 + 0.0 + 0.0 + 1.0 + + + 0.4 + 0.4 + 0.4 + 1.0 + + + 0.0 + 0.0 + 0.2 + 1.0 + + 0 + 0 + 2 + 0.8 + \ No newline at end of file diff --git a/Materials/dds/materials.xml b/Materials/dds/materials.xml index 26349f6c7..d89faeff7 100644 --- a/Materials/dds/materials.xml +++ b/Materials/dds/materials.xml @@ -897,7 +897,7 @@ 0.02 1.0 - + 2500.0 0.4 3 @@ -943,7 +943,7 @@ 0.02 1.0 - + 2500.0 0.4 3 @@ -991,7 +991,7 @@ 0.02 1.0 - + @@ -1004,7 +1004,7 @@ Town SubUrban Terrain/Town1.png - Terrain/Town1.mask.png + Terrain/Town1.mask.png 1024 1024 100000.0 @@ -1028,40 +1028,10 @@ 15.0 - - - - sim/startup/season - summer - - - Effects/water - Lagoon - Terrain/water-lake.png - 400 - 400 - - 0.0 - 0.0 - 0.0 - 1.0 - - - 0.5 - 0.5 - 0.5 - 1.0 - - - 0.3 - 0.3 - 0.3 - 1.0 - - 1.2 - 0 - 1.5 - 0.6 + + Ocean + Effects/water-dds + Terrain/water.png @@ -1789,7 +1759,7 @@ Terrain/city2-relief-light.png Terrain/city1.mask.png - Terrain/city2.mask.png + Terrain/city2.mask.png Terrain/city1.mask.png Terrain/city2.mask.png 1000 @@ -1801,7 +1771,7 @@ 0.02 1.0 - + 2500.0 0.4 3 @@ -1842,7 +1812,7 @@ 0.02 1.0 - + @@ -1855,7 +1825,7 @@ Town SubUrban Terrain.winter/Town1.png - Terrain/Town1.mask.png + Terrain/Town1.mask.png 1024 1024 100000.0 diff --git a/Materials/default/materials.xml b/Materials/default/materials.xml index 0b45341b2..03efdbd77 100644 --- a/Materials/default/materials.xml +++ b/Materials/default/materials.xml @@ -75,7 +75,7 @@ false false - + pa_stopway Runway/pa_stopway.png @@ -352,7 +352,7 @@ false false - + pc_stopway Runway/pc_stopway.png @@ -859,7 +859,7 @@ Terrain/city2-relief-light.png Terrain/city1.mask.png - Terrain/city2.mask.png + Terrain/city2.mask.png 1000 1000 100000.0 @@ -869,7 +869,7 @@ 0.02 1.0 - + 2500.0 0.4 3 @@ -899,7 +899,7 @@ Terrain/city1.png Terrain/city2.png Terrain/city1.mask.png - Terrain/city2.mask.png + Terrain/city2.mask.png 1000 1000 100000.0 @@ -909,9 +909,9 @@ 0.02 1.0 - + - + @@ -922,7 +922,7 @@ Town SubUrban Terrain/Town1.png - Terrain/Town1.mask.png + Terrain/Town1.mask.png 1024 1024 100000.0 @@ -946,6 +946,12 @@ 15.0 + + Ocean + Effects/water + Terrain/water.png + + @@ -1297,7 +1303,7 @@ NaturalCrop Terrain/naturalcrop1.png - Terrain/naturalcrop1.mask.png + Terrain/naturalcrop1.mask.png 2000 2000 1 @@ -1635,7 +1641,7 @@ Terrain/city2-relief-light.png Terrain/city1.mask.png - Terrain/city2.mask.png + Terrain/city2.mask.png 1000 1000 100000.0 @@ -1645,7 +1651,7 @@ 0.02 1.0 - + 2500.0 0.4 3 @@ -1675,7 +1681,7 @@ Terrain/city1.png Terrain/city2.png Terrain/city1.mask.png - Terrain/city2.mask.png + Terrain/city2.mask.png 1000 1000 100000.0 @@ -1685,9 +1691,9 @@ 0.02 1.0 - + - + @@ -1698,7 +1704,7 @@ Town SubUrban Terrain.winter/Town1.png - Terrain/Town1.mask.png + Terrain/Town1.mask.png 1024 1024 100000.0 @@ -2265,7 +2271,7 @@ 1.0 - + UnidirectionalTaperRed Symbols/unidirectionalred.png diff --git a/Shaders/water.frag b/Shaders/water.frag index 5daf5de27..6c674ae0c 100644 --- a/Shaders/water.frag +++ b/Shaders/water.frag @@ -31,6 +31,7 @@ varying vec3 normal; uniform float WaveFreq ; uniform float WaveAmp ; uniform float WaveSharp ; +uniform float normalmap_dds; ////fog "include" ///// uniform int fogType; @@ -99,7 +100,8 @@ void main(void) vec4 dist = texture2D(water_dudvmap, vec2(waterTex1 + disdis*sca2)* windScale) * 2.0 - 1.0; dist *= (0.6 + 0.5 * smoothstep(0.0, 15.0, windEffect)); vec4 fdist = normalize(dist); - fdist = -fdist; //dds fix + if (normalmap_dds > 0) + fdist = -fdist; //dds fix fdist *= sca; //normalmaps @@ -123,8 +125,8 @@ void main(void) nmap1 *= windEffect_low; // mix water and noise, modulated by factor vec4 vNorm = normalize(mix(nmap, nmap1, mixFactor) * waveRoughness); - - vNorm = -vNorm; //dds fix + if (normalmap_dds > 0) + vNorm = -vNorm; //dds fix //load reflection vec4 tmp = vec4(lightdir, 0.0); @@ -168,7 +170,8 @@ void main(void) vec3 N = normalize(mix(Normal + N0, Normal + N1, mixFactor) * waveRoughness); - N = -N; //dds fix + if (normalmap_dds > 0) + N = -N; //dds fix // specular vec3 specular_color = vec3(gl_LightSource[0].diffuse) diff --git a/Shaders/water_sine.frag b/Shaders/water_sine.frag index abd1302b7..53fd5f6c2 100644 --- a/Shaders/water_sine.frag +++ b/Shaders/water_sine.frag @@ -37,6 +37,7 @@ uniform float WaveSharp ; uniform float WaveAngle ; uniform float WaveFactor ; uniform float WaveDAngle ; +uniform float normalmap_dds; ////fog "include" ///// uniform int fogType; @@ -279,7 +280,9 @@ void main(void) // mix water and noise, modulated by factor vec4 vNorm = normalize(mix(nmap, nmap1, mixFactor) * waveRoughness); vNorm.r += ddxSum; - vNorm = -vNorm; //dds fix + + if (normalmap_dds > 0) + vNorm = -vNorm; //dds fix //load reflection vec4 tmp = vec4(lightdir, 0.0); @@ -328,7 +331,9 @@ void main(void) N0.g += ddySum; Normal = normalize(mix(Normal + N0, Normal + N1, mixFactor) * waveRoughness); - Normal = -Normal; //dds fix + + if (normalmap_dds > 0) + Normal = -Normal; //dds fix } diff --git a/Textures/Water/perlin-noise-nm.png b/Textures/Water/perlin-noise-nm.png new file mode 100644 index 000000000..a9d3ff76a Binary files /dev/null and b/Textures/Water/perlin-noise-nm.png differ diff --git a/Textures/Water/water-reflection-grey.dds b/Textures/Water/water-reflection-grey.dds new file mode 100644 index 000000000..927c5e4bf Binary files /dev/null and b/Textures/Water/water-reflection-grey.dds differ diff --git a/Textures/Water/water-reflection.dds b/Textures/Water/water-reflection.dds new file mode 100644 index 000000000..74240f06c Binary files /dev/null and b/Textures/Water/water-reflection.dds differ diff --git a/Textures/Water/water-reflection.png b/Textures/Water/water-reflection.png index d5d689cc6..0da36c3ea 100644 Binary files a/Textures/Water/water-reflection.png and b/Textures/Water/water-reflection.png differ diff --git a/Textures/Water/water_sine_nmap.png b/Textures/Water/water_sine_nmap.png new file mode 100644 index 000000000..fa30f6928 Binary files /dev/null and b/Textures/Water/water_sine_nmap.png differ diff --git a/Textures/Water/waves-ver10-nm.png b/Textures/Water/waves-ver10-nm.png new file mode 100644 index 000000000..65846ae5f Binary files /dev/null and b/Textures/Water/waves-ver10-nm.png differ