Upload latest indev version

This commit is contained in:
Motschen
2020-11-28 21:47:07 +01:00
parent b2eda2ebb9
commit 4257bee053
431 changed files with 1869 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
#include frex:shaders/api/fragment.glsl
#include frex:shaders/lib/math.glsl
/******************************************************
canvas:shaders/material/cold_glow.frag
******************************************************/
void frx_startFragment(inout frx_FragmentData fragData) {
float b = frx_smootherstep(0.1, 0.5, dot(fragData.spriteColor.rgb, vec3(-1.0, 0.0, 1.0)));
float l = frx_smootherstep(0.8, 1.0, frx_luminance(fragData.spriteColor.rgb));
fragData.emissivity = max(b, l);
}

View File

@@ -0,0 +1,33 @@
#include frex:shaders/api/vertex.glsl
#include frex:shaders/api/world.glsl
#include frex:shaders/lib/math.glsl
#include frex:shaders/lib/noise/noise4d.glsl
/******************************************************
canvas:shaders/material/water.vert
Based on "GPU-Generated Procedural Wind Animations for Trees"
by Renaldas Zioma in GPU Gems 3, 2007
https://developer.nvidia.com/gpugems/gpugems3/part-i-geometry/chapter-6-gpu-generated-procedural-wind-animations-trees
******************************************************/
#define NOISE_SCALE 0.125
void frx_startVertex(inout frx_VertexData data) {
#ifdef ANIMATED_FOLIAGE
float rain = frx_rainGradient();
float globalWind = 0.3;
// wind gets stronger higher in the world
globalWind *= (0.5 + smoothstep(64.0, 255.0, data.vertex.y));
float t = frx_renderSeconds() * 0.05;
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
float wind = snoise(vec4(pos, t)) * globalWind;
data.vertex.x += sin(t * 4) * wind * 0.3;
data.vertex.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
data.vertex.z += sin(t * 4) * wind * 0.3;
#endif
}

View File

@@ -0,0 +1,12 @@
#include frex:shaders/api/fragment.glsl
#include frex:shaders/lib/math.glsl
/******************************************************
canvas:shaders/material/green_glow.frag
******************************************************/
void frx_startFragment(inout frx_FragmentData fragData) {
float g = frx_smootherstep(0.1, 0.5, dot(fragData.spriteColor.rgb, vec3(-1.0, 1.0, 0.0)));
float l = frx_smootherstep(0.8, 1.0, frx_luminance(fragData.spriteColor.rgb));
fragData.emissivity = max(g, l);
}

View File

@@ -0,0 +1,14 @@
#include frex:shaders/api/fragment.glsl
#include frex:shaders/lib/math.glsl
/******************************************************
canvas:shaders/material/smoker.frag
******************************************************/
void frx_startFragment(inout frx_FragmentData fragData) {
float e = frx_luminance(fragData.spriteColor.rgb);
bool lit = e > 1.6 || (fragData.spriteColor.r - fragData.spriteColor.b) > 0.5f;
fragData.emissivity = lit ? e : 0.0;
fragData.diffuse = !lit;
fragData.ao = !lit;
}