From 4fa5522c8e3eee848acd42804404d4f718747dd4 Mon Sep 17 00:00:00 2001 From: "ant..om" Date: Sun, 29 May 2011 09:30:47 +0000 Subject: [PATCH] Added a terrain material that uses height and slope information to map textures instead of alphamap. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7530 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../MatDefs/Terrain/HeightBasedTerrain.frag | 76 ++++++++++++++++++ .../MatDefs/Terrain/HeightBasedTerrain.j3md | 41 ++++++++++ .../MatDefs/Terrain/HeightBasedTerrain.vert | 22 +++++ .../test-data/Textures/Terrain/grid/rock.jpg | Bin 0 -> 93344 bytes .../jme3test/terrain/TerrainGridTest.java | 41 ++++++---- 5 files changed, 165 insertions(+), 15 deletions(-) create mode 100644 engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.frag create mode 100644 engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.j3md create mode 100644 engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.vert create mode 100644 engine/src/test-data/Textures/Terrain/grid/rock.jpg diff --git a/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.frag b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.frag new file mode 100644 index 000000000..91dacd2d4 --- /dev/null +++ b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.frag @@ -0,0 +1,76 @@ +uniform vec3 m_region1; +uniform vec3 m_region2; +uniform vec3 m_region3; +uniform vec3 m_region4; + +uniform sampler2D m_region1ColorMap; +uniform sampler2D m_region2ColorMap; +uniform sampler2D m_region3ColorMap; +uniform sampler2D m_region4ColorMap; +uniform sampler2D m_slopeColorMap; + +uniform float m_slopeTileFactor; +uniform float m_terrainSize; + +varying vec3 normal; +varying vec4 position; + +vec4 GenerateTerrainColor() { + float height = position.y; + vec4 p = position / m_terrainSize; + + vec3 blend = abs( normal ); + blend = (blend -0.2) * 0.7; + blend = normalize(max(blend, 0.00001)); // Force weights to sum to 1.0 (very important!) + float b = (blend.x + blend.y + blend.z); + blend /= vec3(b, b, b); + + vec4 terrainColor = vec4(0, 0, 0, 1.0); + + float m_regionMin = 0.0; + float m_regionMax = 0.0; + float m_regionRange = 0.0; + float m_regionWeight = 0.0; + + vec4 slopeCol1 = texture2D(m_slopeColorMap, p.yz * m_slopeTileFactor); + vec4 slopeCol2 = texture2D(m_slopeColorMap, p.xy * m_slopeTileFactor); + + // Terrain m_region 1. + m_regionMin = m_region1.x; + m_regionMax = m_region1.y; + m_regionRange = m_regionMax - m_regionMin; + m_regionWeight = (m_regionRange - abs(height - m_regionMax)) / m_regionRange; + m_regionWeight = max(0.0, m_regionWeight); + terrainColor += m_regionWeight * texture2D(m_region1ColorMap, p.xz * m_region1.z); + + // Terrain m_region 2. + m_regionMin = m_region2.x; + m_regionMax = m_region2.y; + m_regionRange = m_regionMax - m_regionMin; + m_regionWeight = (m_regionRange - abs(height - m_regionMax)) / m_regionRange; + m_regionWeight = max(0.0, m_regionWeight); + terrainColor += m_regionWeight * (texture2D(m_region2ColorMap, p.xz * m_region2.z)); + + // Terrain m_region 3. + m_regionMin = m_region3.x; + m_regionMax = m_region3.y; + m_regionRange = m_regionMax - m_regionMin; + m_regionWeight = (m_regionRange - abs(height - m_regionMax)) / m_regionRange; + m_regionWeight = max(0.0, m_regionWeight); + terrainColor += m_regionWeight * texture2D(m_region3ColorMap, p.xz * m_region3.z); + + // Terrain m_region 4. + m_regionMin = m_region4.x; + m_regionMax = m_region4.y; + m_regionRange = m_regionMax - m_regionMin; + m_regionWeight = (m_regionRange - abs(height - m_regionMax)) / m_regionRange; + m_regionWeight = max(0.0, m_regionWeight); + terrainColor += m_regionWeight * texture2D(m_region4ColorMap, p.xz * m_region4.z); + + return (blend.y * terrainColor + blend.x * slopeCol1 + blend.z * slopeCol2); +} + +void main() { + vec4 color = GenerateTerrainColor(); + gl_FragColor = color; +} diff --git a/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.j3md b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.j3md new file mode 100644 index 000000000..856a09e97 --- /dev/null +++ b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.j3md @@ -0,0 +1,41 @@ +MaterialDef Terrain { + + // Parameters to material: + // regionXColorMap: X = 1..4 the texture that should be appliad to state X + // regionX: a Vector3f containing the following information: + // regionX.x: the start height of the region + // regionX.y: the end height of the region + // regionX.z: the texture scale for the region + // it might not be the most elegant way for storing these 3 values, but it packs the data nicely :) + // slopeColorMap: the texture to be used for cliffs, and steep mountain sites + // slopeTileFactor: the texture scale for slopes + // terrainSize: the total size of the terrain (used for scaling the texture) + MaterialParameters { + Texture2D region1ColorMap + Texture2D region2ColorMap + Texture2D region3ColorMap + Texture2D region4ColorMap + Texture2D slopeColorMap + Float slopeTileFactor + Float terrainSize + Vector3 region1 + Vector3 region2 + Vector3 region3 + Vector3 region4 + } + + Technique { + VertexShader GLSL130: Common/MatDefs/Terrain/HeightBasedTerrain.vert + FragmentShader GLSL130: Common/MatDefs/Terrain/HeightBasedTerrain.frag + + WorldParameters { + WorldViewProjectionMatrix + WorldMatrix + NormalMatrix + } + } + + Technique FixedFunc { + } + +} \ No newline at end of file diff --git a/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.vert b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.vert new file mode 100644 index 000000000..8260d8f72 --- /dev/null +++ b/engine/src/terrain/Common/MatDefs/Terrain/HeightBasedTerrain.vert @@ -0,0 +1,22 @@ +uniform float m_tilingFactor; +uniform mat4 g_WorldViewProjectionMatrix; +uniform mat4 g_WorldMatrix; +uniform mat3 g_NormalMatrix; + +uniform float m_terrainSize; + +attribute vec4 inTexCoord; +attribute vec3 inNormal; +attribute vec3 inPosition; + +varying vec3 normal; +varying vec4 position; + +void main() +{ + normal = normalize(inNormal); + position = g_WorldMatrix * vec4(inPosition, 0.0); + gl_Position = g_WorldViewProjectionMatrix * vec4(inPosition, 1); +} + + diff --git a/engine/src/test-data/Textures/Terrain/grid/rock.jpg b/engine/src/test-data/Textures/Terrain/grid/rock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..343dc1cb92898e0300a1f3eea4973302abaf40dd GIT binary patch literal 93344 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 literal 0 HcmV?d00001 diff --git a/engine/src/test/jme3test/terrain/TerrainGridTest.java b/engine/src/test/jme3test/terrain/TerrainGridTest.java index edfca2fc5..352e14ec0 100644 --- a/engine/src/test/jme3test/terrain/TerrainGridTest.java +++ b/engine/src/test/jme3test/terrain/TerrainGridTest.java @@ -60,29 +60,40 @@ public class TerrainGridTest extends SimpleApplication { this.stateManager.attach(state); // TERRAIN TEXTURE material - mat_terrain = new Material(assetManager, "Common/MatDefs/Terrain/Terrain.j3md"); - mat_terrain.setBoolean("useTriPlanarMapping", false); - - // ALPHA map (for splat textures) - mat_terrain.setTexture("Alpha", assetManager.loadTexture("Textures/Terrain/splat/alphamap.png")); - + this.mat_terrain = new Material(this.assetManager, "Common/MatDefs/Terrain/HeightBasedTerrain.j3md"); + + // Parameters to material: + // regionXColorMap: X = 1..4 the texture that should be appliad to state X + // regionX: a Vector3f containing the following information: + // regionX.x: the start height of the region + // regionX.y: the end height of the region + // regionX.z: the texture scale for the region + // it might not be the most elegant way for storing these 3 values, but it packs the data nicely :) + // slopeColorMap: the texture to be used for cliffs, and steep mountain sites + // slopeTileFactor: the texture scale for slopes + // terrainSize: the total size of the terrain (used for scaling the texture) // GRASS texture - Texture grass = assetManager.loadTexture("Textures/Terrain/splat/grass.jpg"); + Texture grass = this.assetManager.loadTexture("Textures/Terrain/splat/grass.jpg"); grass.setWrap(WrapMode.Repeat); - mat_terrain.setTexture("Tex1", grass); - mat_terrain.setFloat("Tex1Scale", grassScale); + this.mat_terrain.setTexture("region1ColorMap", grass); + this.mat_terrain.setVector3("region1", new Vector3f(88, 200, this.grassScale)); // DIRT texture - Texture dirt = assetManager.loadTexture("Textures/Terrain/splat/dirt.jpg"); + Texture dirt = this.assetManager.loadTexture("Textures/Terrain/splat/dirt.jpg"); dirt.setWrap(WrapMode.Repeat); - mat_terrain.setTexture("Tex2", dirt); - mat_terrain.setFloat("Tex2Scale", dirtScale); + this.mat_terrain.setTexture("region2ColorMap", dirt); + this.mat_terrain.setVector3("region2", new Vector3f(0, 90, this.dirtScale)); // ROCK texture - Texture rock = assetManager.loadTexture("Textures/Terrain/splat/road.jpg"); + Texture rock = this.assetManager.loadTexture("Textures/Terrain/grid/rock.jpg"); rock.setWrap(WrapMode.Repeat); - mat_terrain.setTexture("Tex3", rock); - mat_terrain.setFloat("Tex3Scale", rockScale); + this.mat_terrain.setTexture("region3ColorMap", rock); + this.mat_terrain.setVector3("region3", new Vector3f(198, 260, this.rockScale)); + + this.mat_terrain.setTexture("slopeColorMap", rock); + this.mat_terrain.setFloat("slopeTileFactor", 32); + + this.mat_terrain.setFloat("terrainSize", 513); this.base = new FractalSum(); this.base.setRoughness(0.7f);