diff --git a/resources/Schema/Entities/SplatMapTesWorld.xml b/resources/Schema/Entities/SplatMapTesWorld.xml
index 11660a63..fe5718eb 100644
--- a/resources/Schema/Entities/SplatMapTesWorld.xml
+++ b/resources/Schema/Entities/SplatMapTesWorld.xml
@@ -9,8 +9,14 @@
+
+
+
+
+
+
- Models/Test/SplatMapTest.mesh
+ Models/Ground.mesh
diff --git a/resources/Shaders/ForwardPlusSplatMap.frag.glsl b/resources/Shaders/ForwardPlusSplatMap.frag.glsl
index c4908534..239c51b5 100644
--- a/resources/Shaders/ForwardPlusSplatMap.frag.glsl
+++ b/resources/Shaders/ForwardPlusSplatMap.frag.glsl
@@ -151,8 +151,6 @@ vec4 CalcNormalMappedValue(vec3 normal, vec3 tangent, vec3 bitangent, vec2 textu
return vec4(TBN * normalize(NormalMap), 0.0);
}
-#define TEXTURE_TILE 5.0
-
vec4 CalcBlendedTexel(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B, sampler2D A, sampler2D D,
vec2 R_TileValues, vec2 G_TileValues, vec2 B_TileValues, vec2 A_TileValues, vec2 D_TileValues){
vec4 R_Channel = texture2D(R, Input.TextureCoordinate * R_TileValues);
@@ -163,10 +161,11 @@ vec4 CalcBlendedTexel(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B, sa
float total = blendValue.r + blendValue.g + blendValue.b + blendValue.a;
if(total > 1.0f){
- blendValue.r / total;
- blendValue.g / total;
- blendValue.b / total;
- blendValue.a / total;
+ float totalDiv = 1.0f / total;
+ blendValue.r = blendValue.r * totalDiv;
+ blendValue.g = blendValue.g * totalDiv;
+ blendValue.b = blendValue.b * totalDiv;
+ blendValue.a = blendValue.a * totalDiv;
}
float D_percent = clamp( 1.0f - total, 0.0f, 1.0f);
@@ -188,10 +187,11 @@ vec4 CalcBlendedNormal(vec4 blendValue, sampler2D R, sampler2D G, sampler2D B, s
float total = blendValue.r + blendValue.g + blendValue.b + blendValue.a;
if(total > 1.0f){
- blendValue.r / total;
- blendValue.g / total;
- blendValue.b / total;
- blendValue.a / total;
+ float totalDiv = 1 / total;
+ blendValue.r = blendValue.r * totalDiv;
+ blendValue.g = blendValue.g * totalDiv;
+ blendValue.b = blendValue.b * totalDiv;
+ blendValue.a = blendValue.a * totalDiv;
}
float D_percent = clamp( 1.0f - total, 0.0f, 1.0f);
diff --git a/src/Engine/Rendering/Texture.cpp b/src/Engine/Rendering/Texture.cpp
index 57f3ca36..df197400 100644
--- a/src/Engine/Rendering/Texture.cpp
+++ b/src/Engine/Rendering/Texture.cpp
@@ -30,9 +30,10 @@ Texture::Texture(std::string path)
glBindTexture(GL_TEXTURE_2D, m_Texture);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexImage2D(GL_TEXTURE_2D, 0, format, image.Width, image.Height, 0, format, GL_UNSIGNED_BYTE, image.Data);
+ glGenerateMipmap(GL_TEXTURE_2D);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
GLERROR("Texture load");
}