Collision & Engine refactor
This commit is contained in:
parent
f135d99d74
commit
6b51c9b680
261 changed files with 5439 additions and 185169 deletions
29
resources/EngineResources/shaders/TerrainFragment.glsl
Normal file
29
resources/EngineResources/shaders/TerrainFragment.glsl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#version 450
|
||||
|
||||
layout(location = 0) in vec3 fragPosition;
|
||||
layout(location = 1) in vec4 fragWeights;
|
||||
layout(location = 2) in vec2 fragUV;
|
||||
|
||||
layout(binding = 1) uniform sampler2DArray terrainTexArray;
|
||||
|
||||
layout(location = 0) out vec4 outColor;
|
||||
|
||||
void main() {
|
||||
vec4 colorGrass = texture(terrainTexArray, vec3(fragUV, 0.0)); // Index 0
|
||||
vec4 colorRock = texture(terrainTexArray, vec3(fragUV, 1.0)); // Index 1
|
||||
vec4 colorSand = texture(terrainTexArray, vec3(fragUV, 2.0)); // Index 2
|
||||
vec4 colorMud = texture(terrainTexArray, vec3(fragUV, 3.0)); // Index 3
|
||||
|
||||
vec4 dynamicTerrainColor =
|
||||
(colorGrass * fragWeights.r) +
|
||||
(colorRock * fragWeights.g) +
|
||||
(colorSand * fragWeights.b) +
|
||||
(colorMud * fragWeights.a);
|
||||
|
||||
float totalWeight = fragWeights.r + fragWeights.g + fragWeights.b + fragWeights.a;
|
||||
if (totalWeight > 0.0) {
|
||||
dynamicTerrainColor /= totalWeight;
|
||||
}
|
||||
|
||||
outColor = dynamicTerrainColor;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue