Shaders
This commit is contained in:
parent
7af3f5f981
commit
178836965d
16 changed files with 149 additions and 6 deletions
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"defaultMaterial": "betterend:waving_wall_glow_all"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"defaultMaterial": "betterend:glow_all"
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"defaultMap": {
|
||||||
|
"spriteMap": [
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/creeping_moss_spores",
|
||||||
|
"material": "betterend:wave_glow_50_half"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/creeping_moss_leaves",
|
||||||
|
"material": "betterend:waving_floor"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"defaultMap": {
|
||||||
|
"spriteMap": [
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/dense_vine_bottom",
|
||||||
|
"material": "betterend:wave_glow_50_half"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/dense_vine",
|
||||||
|
"material": "betterend:waving"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"defaultMaterial": "betterend:wave_glow_all"
|
"defaultMaterial": "betterend:waving_wall_inverted_glow_all"
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"defaultMaterial": "betterend:waving_floor_glow_50_blue"
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"defaultMap": {
|
||||||
|
"spriteMap": [
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_sporophyte",
|
||||||
|
"material": "betterend:wave_glow_all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_small",
|
||||||
|
"material": "betterend:waving_floor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_up",
|
||||||
|
"material": "betterend:waving_floor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_end",
|
||||||
|
"material": "betterend:waving_floor"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"defaultMap": {
|
||||||
|
"spriteMap": [
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_sporophyte",
|
||||||
|
"material": "betterend:wave_glow_all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_up",
|
||||||
|
"material": "betterend:waving"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_end",
|
||||||
|
"material": "betterend:waving"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sprite": "betterend:block/umbrella_moss_bottom",
|
||||||
|
"material": "betterend:waving_floor"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"vertexSource": "betterend:shaders/material/wave_floor.vert",
|
||||||
|
"fragmentSource": "betterend:shaders/material/glow_50.frag",
|
||||||
|
"disableAo": true,
|
||||||
|
"disableDiffuse": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"vertexSource": "betterend:shaders/material/wave_floor.vert",
|
||||||
|
"fragmentSource": "betterend:shaders/material/glow_50_blue.frag",
|
||||||
|
"disableAo": true,
|
||||||
|
"disableDiffuse": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"vertexSource": "betterend:shaders/material/wall_wave.vert",
|
"vertexSource": "betterend:shaders/material/wall_wave.vert",
|
||||||
"fragmentSource": "canvas:shaders/material/glow_all.frag",
|
"fragmentSource": "betterend:shaders/material/glow_all.frag",
|
||||||
"disableAo": true,
|
"disableAo": true,
|
||||||
"disableDiffuse": true
|
"disableDiffuse": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"vertexSource": "betterend:shaders/material/wall_wave_inverted.vert",
|
||||||
|
"fragmentSource": "betterend:shaders/material/glow_all.frag",
|
||||||
|
"disableAo": true,
|
||||||
|
"disableDiffuse": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -18,9 +18,6 @@ void frx_startVertex(inout frx_VertexData data) {
|
||||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5;
|
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * 0.5;
|
||||||
float wind = snoise(vec4(pos, t)) * 0.1;
|
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;
|
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.y += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
|
@ -18,7 +18,7 @@ void frx_startVertex(inout frx_VertexData data) {
|
||||||
float t = frx_renderSeconds() * 0.05;
|
float t = frx_renderSeconds() * 0.05;
|
||||||
|
|
||||||
vec3 pos = (data.vertex.xyz + frx_modelOriginWorldPos()) * NOISE_SCALE;
|
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;
|
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.x += (cos(t) * cos(t * 3) * cos(t * 5) * cos(t * 7) + sin(t * 25)) * wind;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue