resources paths refact
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
#version 330 core
|
||||
|
||||
in vec4 v_color;
|
||||
out vec4 f_color;
|
||||
|
||||
void main(){
|
||||
f_color = v_color;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec3 a_position;
|
||||
layout (location = 1) in vec4 a_color;
|
||||
|
||||
out vec4 v_color;
|
||||
|
||||
uniform mat4 u_projview;
|
||||
|
||||
void main(){
|
||||
v_color = a_color;
|
||||
gl_Position = u_projview * vec4(a_position, 1.0);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#version 330 core
|
||||
|
||||
in vec4 a_color;
|
||||
in vec2 a_texCoord;
|
||||
in float a_distance;
|
||||
out vec4 f_color;
|
||||
|
||||
uniform sampler2D u_texture0;
|
||||
uniform vec3 u_fogColor;
|
||||
uniform float u_fogFactor;
|
||||
uniform float u_fogCurve;
|
||||
|
||||
void main(){
|
||||
vec4 tex_color = texture(u_texture0, a_texCoord);
|
||||
float depth = (a_distance/256.0);
|
||||
float alpha = a_color.a * tex_color.a;
|
||||
// anyway it's any alpha-test alternative required
|
||||
if (alpha < 0.1f)
|
||||
discard;
|
||||
f_color = mix(a_color * tex_color, vec4(u_fogColor,1.0), min(1.0, pow(depth*u_fogFactor, u_fogCurve)));
|
||||
f_color.a = alpha;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec3 v_position;
|
||||
layout (location = 1) in vec2 v_texCoord;
|
||||
layout (location = 2) in vec4 v_light;
|
||||
|
||||
out vec4 a_color;
|
||||
out vec2 a_texCoord;
|
||||
out float a_distance;
|
||||
|
||||
uniform mat4 u_model;
|
||||
uniform mat4 u_proj;
|
||||
uniform mat4 u_view;
|
||||
uniform vec3 u_skyLightColor;
|
||||
uniform vec3 u_cameraPos;
|
||||
uniform float u_gamma;
|
||||
|
||||
uniform vec3 u_torchlightColor;
|
||||
uniform float u_torchlightDistance;
|
||||
|
||||
void main(){
|
||||
vec2 pos2d = (u_model * vec4(v_position, 1.0)).xz-u_cameraPos.xz;
|
||||
vec4 modelpos = u_model * vec4(v_position+vec3(0,pow(length(pos2d)*0.0, 3.0),0), 1.0);
|
||||
vec4 viewmodelpos = u_view * modelpos;
|
||||
vec3 light = v_light.rgb * 1.6;
|
||||
float torchlight = max(0.0, 1.0-distance(u_cameraPos, modelpos.xyz)/u_torchlightDistance);
|
||||
light += torchlight * u_torchlightColor;
|
||||
a_color = vec4(pow(light, vec3(u_gamma)),1.0f);
|
||||
a_texCoord = v_texCoord;
|
||||
a_color.rgb += u_skyLightColor * v_light.a;
|
||||
a_color.r = min(a_color.r, 1.1);
|
||||
a_color.g = min(a_color.g, 1.1);
|
||||
a_color.b = min(a_color.b, 1.1);
|
||||
a_distance = length(viewmodelpos);
|
||||
gl_Position = u_proj * viewmodelpos;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#version 330 core
|
||||
|
||||
in vec2 v_coord;
|
||||
out vec4 f_color;
|
||||
|
||||
uniform sampler2D u_texture;
|
||||
|
||||
void main(){
|
||||
f_color = texture(u_texture, v_coord);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec2 v_position;
|
||||
|
||||
out vec2 v_coord;
|
||||
|
||||
void main(){
|
||||
v_coord = v_position*0.5+0.5;
|
||||
gl_Position = vec4(v_position, 0.0, 1.0);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
#version 330 core
|
||||
|
||||
in vec2 a_textureCoord;
|
||||
in vec4 a_color;
|
||||
out vec4 f_color;
|
||||
|
||||
uniform sampler2D u_texture;
|
||||
|
||||
void main(){
|
||||
f_color = a_color * texture(u_texture, a_textureCoord);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#version 330 core
|
||||
|
||||
layout (location = 0) in vec2 v_position;
|
||||
layout (location = 1) in vec2 v_textureCoord;
|
||||
layout (location = 2) in vec4 v_color;
|
||||
|
||||
out vec2 a_textureCoord;
|
||||
out vec4 a_color;
|
||||
|
||||
uniform mat4 u_projview;
|
||||
|
||||
void main(){
|
||||
a_textureCoord = v_textureCoord;
|
||||
a_color = v_color;
|
||||
gl_Position = u_projview * vec4(v_position, 0.5, 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user