diff --git a/Effects/landmass-nowood.eff b/Effects/landmass-nowood.eff
new file mode 100644
index 000000000..c31473da6
--- /dev/null
+++ b/Effects/landmass-nowood.eff
@@ -0,0 +1,8 @@
+
+
+ Effects/landmass-nowood
+ Effects/landmass
+
+ 0.0
+
+
diff --git a/Effects/landmass-scrub.eff b/Effects/landmass-scrub.eff
new file mode 100644
index 000000000..a685ed8a4
--- /dev/null
+++ b/Effects/landmass-scrub.eff
@@ -0,0 +1,15 @@
+
+
+ Effects/landmass-scrub
+ Effects/landmass
+
+
+ Textures.high/Terrain/shrubcover-relief.png
+ linear-mipmap-linear
+ repeat
+ repeat
+ normalized
+
+ 1.0
+
+
diff --git a/Shaders/landmass.geom b/Shaders/landmass.geom
index 6514f5417..01bc9f095 100644
--- a/Shaders/landmass.geom
+++ b/Shaders/landmass.geom
@@ -54,28 +54,29 @@ void createVertex(int i, int j, float offset, float s)
void main(void)
{
- createVertex(0, 1, canopy_height, 0.0);
- createVertex(0, 1, 0.0, 0.0);
- createVertex(1, 0, canopy_height, 0.0);
- createVertex(1, 0, 0.0, 0.0);
- EndPrimitive();
- createVertex(1, 2, canopy_height, 0.0);
- createVertex(1, 2, 0.0, 0.0);
- createVertex(2, 1, canopy_height, 0.0);
- createVertex(2, 1, 0.0, 0.0);
- EndPrimitive();
- createVertex(2, 0, canopy_height, 0.0);
- createVertex(2, 0, 0.0, 0.0);
- createVertex(0, 2, canopy_height, 0.0);
- createVertex(0, 2, 0.0, 0.0);
- EndPrimitive();
-
+ if (canopy_height > 0.01) {
+ createVertex(0, 1, canopy_height, 0.0);
+ createVertex(0, 1, 0.0, 0.0);
+ createVertex(1, 0, canopy_height, 0.0);
+ createVertex(1, 0, 0.0, 0.0);
+ EndPrimitive();
+ createVertex(1, 2, canopy_height, 0.0);
+ createVertex(1, 2, 0.0, 0.0);
+ createVertex(2, 1, canopy_height, 0.0);
+ createVertex(2, 1, 0.0, 0.0);
+ EndPrimitive();
+ createVertex(2, 0, canopy_height, 0.0);
+ createVertex(2, 0, 0.0, 0.0);
+ createVertex(0, 2, canopy_height, 0.0);
+ createVertex(0, 2, 0.0, 0.0);
+ EndPrimitive();
+ createVertex(0, 1, 0.0, 0.0);
+ createVertex(1, 2, 0.0, 0.0);
+ createVertex(2, 0, 0.0, 0.0);
+ EndPrimitive();
+ }
createVertex(0, 1, canopy_height, 1.0);
createVertex(1, 2, canopy_height, 1.0);
createVertex(2, 0, canopy_height, 1.0);
EndPrimitive();
- createVertex(0, 1, 0.0, 0.0);
- createVertex(1, 2, 0.0, 0.0);
- createVertex(2, 0, 0.0, 0.0);
- EndPrimitive();
}
diff --git a/Textures/Terrain/shrub1.png b/Textures/Terrain/shrub1.png
new file mode 100644
index 000000000..85d62ca73
Binary files /dev/null and b/Textures/Terrain/shrub1.png differ