Better lake generation
This commit is contained in:
@@ -8,15 +8,12 @@ precision highp int;
|
|||||||
#define ALPHA 0.18
|
#define ALPHA 0.18
|
||||||
|
|
||||||
uniform sampler2D u_texture;
|
uniform sampler2D u_texture;
|
||||||
|
|
||||||
uniform vec4 u_color;
|
uniform vec4 u_color;
|
||||||
uniform vec2 u_texsize;
|
uniform vec2 u_texsize;
|
||||||
uniform float u_time;
|
uniform float u_time;
|
||||||
uniform float u_scaling;
|
uniform float u_scaling;
|
||||||
uniform float u_dp;
|
uniform float u_dp;
|
||||||
uniform vec2 u_offset;
|
uniform vec2 u_offset;
|
||||||
uniform int u_hitamount;
|
|
||||||
uniform vec3 u_hits[MAX_HITS];
|
|
||||||
|
|
||||||
varying vec4 v_color;
|
varying vec4 v_color;
|
||||||
varying vec2 v_texCoord;
|
varying vec2 v_texCoord;
|
||||||
@@ -59,18 +56,6 @@ void main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
color.a = ALPHA;
|
color.a = ALPHA;
|
||||||
|
|
||||||
for(int i = 0; i < MAX_HITS; i ++){
|
|
||||||
if(i >= u_hitamount) break;
|
|
||||||
vec3 hit = u_hits[i];
|
|
||||||
float rad = hit.z * HIT_RADIUS;
|
|
||||||
float fin = 1.0 - hit.z;
|
|
||||||
|
|
||||||
if(abs(distance(vec2(hit.x, hit.y), coords - u_texsize/2.0) - rad) < 1.0){
|
|
||||||
color = mix(color, mix(u_color, vec4(1.0), si), (1.0 * fin));
|
|
||||||
color.a = ALPHA + 0.82 *fin;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gl_FragColor = color;
|
gl_FragColor = color;
|
||||||
|
|||||||
@@ -311,7 +311,7 @@ public class WorldGenerator{
|
|||||||
+ sim3.octaveNoise2D(detailed ? 12 : 9, 0.6, 1f / 1100f, x - 120, y);
|
+ sim3.octaveNoise2D(detailed ? 12 : 9, 0.6, 1f / 1100f, x - 120, y);
|
||||||
double lake = sim2.octaveNoise2D(1, 1, 1f / 110f, x, y);
|
double lake = sim2.octaveNoise2D(1, 1, 1f / 110f, x, y);
|
||||||
|
|
||||||
elevation -= lake/3f;
|
elevation -= Math.pow(lake + 0.15, 5);
|
||||||
|
|
||||||
int lerpDst = 20;
|
int lerpDst = 20;
|
||||||
lerpDst *= lerpDst;
|
lerpDst *= lerpDst;
|
||||||
@@ -329,9 +329,9 @@ public class WorldGenerator{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(elevation < 0.7 || lake > 0.96){
|
if(elevation < 0.7){
|
||||||
floor = Blocks.deepwater;
|
floor = Blocks.deepwater;
|
||||||
}else if(elevation < 0.79 || lake > 0.948){
|
}else if(elevation < 0.79){
|
||||||
floor = Blocks.water;
|
floor = Blocks.water;
|
||||||
}else if(elevation < 0.85){
|
}else if(elevation < 0.85){
|
||||||
floor = Blocks.sand;
|
floor = Blocks.sand;
|
||||||
|
|||||||
Reference in New Issue
Block a user