This commit is contained in:
paulevsGitch 2020-10-07 01:08:41 +03:00
parent 7af3f5f981
commit 178836965d
16 changed files with 149 additions and 6 deletions

View file

@ -0,0 +1,8 @@
#include frex:shaders/api/fragment.glsl
#include frex:shaders/lib/math.glsl
void frx_startFragment(inout frx_FragmentData fragData) {
float a = abs(fragData.spriteColor.b - fragData.spriteColor.r);
float b = abs(fragData.spriteColor.b - fragData.spriteColor.g);
fragData.emissivity = (a > 0.1 && b > 0.1 && fragData.spriteColor.b > 0.5) ? 1 : 0;
}

View file

@ -18,9 +18,6 @@ void frx_startVertex(inout frx_VertexData data) {
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5;
float wind = snoise(vec4(pos, t)) * 0.1;
//vec3 center = frx_modelOriginWorldPos() + vec3(0.5);
//vec3 absDist = abs(pos - center) * 2;
//wind *= clamp(1 - absDist.x + absDist.y + absDist.z, 0, 1);
wind *= 1 - data.spriteUV.y;
data.vertex.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;

View file

@ -0,0 +1,27 @@
#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
/******************************************************
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
Remake of canvas default shader for the Nether
******************************************************/
void frx_startVertex(inout frx_VertexData data) {
#ifdef ANIMATED_FOLIAGE
float t = frx_renderSeconds() * 0.05;
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5;
float wind = snoise(vec4(pos, t)) * 0.1;
wind *= data.spriteUV.y;
data.vertex.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
data.vertex.x += cos(t * 14) * wind;
data.vertex.z += sin(t * 19) * wind;
#endif
}

View file

@ -18,7 +18,7 @@ void frx_startVertex(inout frx_VertexData data) {
float t = frx_renderSeconds() * 0.05;
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
float wind = snoise(vec4(pos, t)) * 0.2;
float wind = snoise(vec4(pos, t)) * 0.1;
wind *= 1 - data.spriteUV.y;
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;