Extensive work on virtually all of the visuals and the net code
This commit is contained in:
38
visuals/shaders/outline.gdshader
Normal file
38
visuals/shaders/outline.gdshader
Normal file
@@ -0,0 +1,38 @@
|
||||
shader_type spatial;
|
||||
render_mode unshaded, diffuse_lambert;
|
||||
|
||||
uniform float amount = 3.0f;
|
||||
uniform float intensity = 1.0f;
|
||||
uniform vec3 fresnel_color : source_color = vec3(1,1,1);
|
||||
uniform sampler2D noise_texture;
|
||||
varying float flux;
|
||||
|
||||
float fresnel(vec3 normal, vec3 view)
|
||||
{
|
||||
return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0 )), amount);
|
||||
}
|
||||
|
||||
vec3 fresnel_glow(vec3 normal, vec3 view)
|
||||
{
|
||||
return pow((1.0 - dot(normalize(normal), normalize(view))), amount) * fresnel_color * intensity;
|
||||
}
|
||||
|
||||
void vertex()
|
||||
{
|
||||
flux = .1 + .9 * texture(noise_texture, vec2(UV.x + TIME * .1, UV.y + TIME*.2)).r;
|
||||
}
|
||||
void fragment()
|
||||
{
|
||||
|
||||
vec3 base_color = vec3(0.0);
|
||||
vec3 basic_fresnel = fresnel_glow(NORMAL, VIEW);
|
||||
float f = texture(noise_texture, vec2(NORMAL.x + TIME * .1, NORMAL.y + TIME*.2)).r;
|
||||
ALBEDO = base_color + basic_fresnel * f;
|
||||
float fres_alpha = fresnel(NORMAL, VIEW);
|
||||
ALPHA = fres_alpha;
|
||||
}
|
||||
|
||||
//void light() {
|
||||
// // Called for every pixel for every light affecting the material.
|
||||
// // Uncomment to replace the default light processing function with this one.
|
||||
//}
|
||||
Reference in New Issue
Block a user