diff --git a/assets b/assets
index 7531e441..77bab8c0 160000
--- a/assets
+++ b/assets
@@ -1 +1 @@
-Subproject commit 7531e441fea639076d69c6cf05e3ae8ff7170cf9
+Subproject commit 77bab8c0f57ef2a5b97a4676c2249979d098f66f
diff --git a/resources/Schema/Entities/NewMap.xml b/resources/Schema/Entities/NewMap.xml
new file mode 100644
index 00000000..a79fee7b
--- /dev/null
+++ b/resources/Schema/Entities/NewMap.xml
@@ -0,0 +1,2396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Ground.mesh
+
+
+
+
+
+
+
+
+ Models/Props/Highground1.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground2.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground3.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground4.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground5.mesh
+
+
+
+
+
+
+
+
+
+ Models/Props/Highground6.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiPillar2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/StonePillar.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall4.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/SmallWall2.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/BigWall.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/WoodenBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Bridges/SciFiBridge.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/TreeLog.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall2.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall3.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Pillars/SciFiBridgePillar1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Walls/MediumWall1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/TreeLog.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+ Models/Props/Flora/AliveBush.mesh
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/MediumStone1.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/Stones/BigStone.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/PickUps/PickUpHolder.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Props/CapturePoint.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ Models/Props/CapturePoint.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+ Models/Props/CapturePoint.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3
+
+
+ Models/Props/CapturePoint.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ Models/Props/CapturePoint.mesh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Characters/Assault/AssaultTPose.mesh
+
+
+
+
+
+
+
+
+
+
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");
}