Merge and fix
This commit is contained in:
parent
b91c85529d
commit
ce9f4add97
548 changed files with 17517 additions and 16862 deletions
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.1 ? 1 : 0;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.1 ? 1 : 0;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
float glow = frx_luminance(fragData.spriteColor.rgb) - 0.2;
|
||||
glow = clamp(glow * 3, 0, 0.5);
|
||||
fragData.emissivity = glow;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
float glow = frx_luminance(fragData.spriteColor.rgb) - 0.2;
|
||||
glow = clamp(glow * 3, 0, 0.5);
|
||||
fragData.emissivity = glow;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.33 ? 1 : 0;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.33 ? 1 : 0;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.33 ? 0.5 : 0;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.33 ? 0.5 : 0;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.5 ? 1 : 0;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.5 ? 1 : 0;
|
||||
}
|
||||
|
|
|
@ -1,8 +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;
|
||||
}
|
||||
#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;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.5 ? 0.5 : 0;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = frx_luminance(fragData.spriteColor.rgb) > 0.5 ? 0.5 : 0;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 1;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 1;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 0.5;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 0.5;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
float light = frx_luminance(fragData.spriteColor.rgb) * 2 - 0.3;
|
||||
fragData.emissivity = clamp(light, 0, 1);
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
float light = frx_luminance(fragData.spriteColor.rgb) * 2 - 0.3;
|
||||
fragData.emissivity = clamp(light, 0, 1);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 1;
|
||||
fragData.ao = false;
|
||||
fragData.diffuse = false;
|
||||
}
|
||||
#include frex:shaders/api/fragment.glsl
|
||||
#include frex:shaders/lib/math.glsl
|
||||
|
||||
void frx_startFragment(inout frx_FragmentData fragData) {
|
||||
fragData.emissivity = 1;
|
||||
fragData.ao = false;
|
||||
fragData.diffuse = false;
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
data.vertex.xz += data.normal.xz * data.spriteUV.y * 0.02;
|
||||
}
|
||||
#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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
data.vertex.xz += data.normal.xz * data.spriteUV.y * 0.02;
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#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.02;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
#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.02;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,27 +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 *= 1 - 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
|
||||
}
|
||||
#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 *= 1 - 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
|
||||
}
|
||||
|
|
|
@ -1,27 +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
|
||||
}
|
||||
#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
|
||||
}
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
#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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
#ifdef ANIMATED_FOLIAGE
|
||||
float t = frx_renderSeconds() * 0.05;
|
||||
|
||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
|
||||
float wind = snoise(vec4(pos, t)) * 0.1;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
#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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
#ifdef ANIMATED_FOLIAGE
|
||||
float t = frx_renderSeconds() * 0.05;
|
||||
|
||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
|
||||
float wind = snoise(vec4(pos, t)) * 0.1;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,27 +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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
#ifdef ANIMATED_FOLIAGE
|
||||
float t = frx_renderSeconds() * 0.05;
|
||||
|
||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
|
||||
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;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
#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
|
||||
******************************************************/
|
||||
|
||||
#define NOISE_SCALE 0.125
|
||||
|
||||
void frx_startVertex(inout frx_VertexData data) {
|
||||
#ifdef ANIMATED_FOLIAGE
|
||||
float t = frx_renderSeconds() * 0.05;
|
||||
|
||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
|
||||
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;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
#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.0625;
|
||||
float wind = snoise(vec4(pos, t)) * 0.25;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
#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.0625;
|
||||
float wind = snoise(vec4(pos, t)) * 0.25;
|
||||
|
||||
data.vertex.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||
data.vertex.z += sin(t * 19) * wind;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue