39 lines
1.7 KiB
GLSL
39 lines
1.7 KiB
GLSL
#define OVERWORLD_CURVATURE_SIZE -2048 //[-16 -32 -64 -128 -256 -512 -1024 -2048 -4096 -8192 -16384 -32768 0 32768 16384 8192 4096 2048 1024 512 256]
|
|
#define NETHER_CURVATURE_SIZE -2048 //[-16 -32 -64 -128 -256 -512 -1024 -2048 -4096 -8192 -16384 -32768 0 32768 16384 8192 4096 2048 1024 512 256]
|
|
#define END_CURVATURE_SIZE -2048 //[-16 -32 -64 -128 -256 -512 -1024 -2048 -4096 -8192 -16384 -32768 0 32768 16384 8192 4096 2048 1024 512 256]
|
|
|
|
void doMirrorDimension(inout vec4 position) {
|
|
float y = position.y;
|
|
float x = position.x;
|
|
float z = position.z;
|
|
float xz = x * x + x * z + z * z;
|
|
|
|
float noiseNumber1 = texture2DLod(noisetex, vec2(frameTimeCounter, 0.0), 0.0).r;
|
|
position.y += 15.0 * sin(xz * sin(frameTimeCounter * 1.3 + 25.0) / 1000.0) * noiseNumber1;
|
|
|
|
float noiseNumber2 = sin(xz * abs(sin(frameTimeCounter * 0.1 + 540.0) / 5000.0)) * abs(sin(frameTimeCounter * 0.05 + 180.0)) * 0.5;
|
|
|
|
position.y = x * sin(noiseNumber2) + y * cos(noiseNumber2);
|
|
position.x = x * cos(noiseNumber2) - y * sin(noiseNumber2);
|
|
}
|
|
|
|
float doWorldCurvature(vec2 position) { // code from Complementary v4
|
|
#ifdef NETHER
|
|
float curvature = dot(position, position) / NETHER_CURVATURE_SIZE;
|
|
#if NETHER_CURVATURE_SIZE == 0
|
|
curvature *= 0.0;
|
|
#endif
|
|
#elif defined END
|
|
float curvature = dot(position, position) / END_CURVATURE_SIZE;
|
|
#if END_CURVATURE_SIZE == 0
|
|
curvature *= 0.0;
|
|
#endif
|
|
#else
|
|
float curvature = dot(position, position) / OVERWORLD_CURVATURE_SIZE;
|
|
#if OVERWORLD_CURVATURE_SIZE == 0
|
|
curvature *= 0.0;
|
|
#endif
|
|
#endif
|
|
return curvature;
|
|
}
|