intial changes for commit #495

This commit is contained in:
Xonk
2024-11-15 17:54:18 -05:00
parent b32041d4fc
commit b93d6f1a12
56 changed files with 3550 additions and 2274 deletions

View File

@ -28,7 +28,7 @@ vec3 drawMoon(vec3 PlayerPos, vec3 WorldSunVec, vec3 Color, inout vec3 occludeSt
vec3 LightDir = phase[moonPhase];
return Shape * pow(clamp(dot(sunNormal,LightDir)/5,0.0,1.5),5) * Color + clamp(Shape * 4.0 * pow(shape2/200,2.0),0.0,1.0)*0.004;
return Shape * pow(clamp(dot(sunNormal,LightDir)/5,0.0,1.5),5) * Color * 10.0 + clamp(Shape * 4.0 * pow(shape2/200,2.0),0.0,1.0)*0.004;
}
const float pi = 3.141592653589793238462643383279502884197169;
@ -134,27 +134,73 @@ vec4 texture2D_bicubic_offset(sampler2D tex, vec2 uv, float noise, float scale)
vec2 sphereToCarte(vec3 dir) {
float lonlat = clamp(atan(-dir.x, -dir.z), -pi, pi);
return vec2(lonlat * (0.5/pi) +0.5,0.5*dir.y+0.5);
return vec2(lonlat * (0.5/pi) +0.5, 0.5*dir.y+0.5);
}
vec3 skyFromTex(vec3 pos,sampler2D sampler){
vec2 p = sphereToCarte(pos);
vec2 clampUV = vec2(1.0);
p = clamp(p*2.0-1.0, -clampUV, clampUV)*0.5+0.5;
return texture2D(sampler,p*texelSize*256.+vec2(18.5,1.5)*texelSize).rgb;
}
vec3 skyFromTexLOD(vec3 pos,sampler2D sampler, float LOD){
vec2 p = sphereToCarte(pos);
return texture2DLod(sampler,p*texelSize*256.+vec2(18.5,1.5)*texelSize,LOD).rgb;
}
vec4 skyCloudsFromTex(vec3 pos,sampler2D sampler){
vec2 p = sphereToCarte(pos);
return texture2D(sampler,p*texelSize*256.+vec2(18.5+257.,1.5)*texelSize);
}
vec4 skyCloudsFromTexLOD(vec3 pos,sampler2D sampler, float LOD){
vec2 p = sphereToCarte(pos);
return texture2DLod(sampler,p*texelSize*256. + vec2(18.5 + 257., 1.5)*texelSize,LOD);
vec2 uv = clamp(p, 0.0, 1.0) * texelSize*256. + vec2(18.5+257.,1.5)*texelSize;
return texture2D(sampler, uv);
}
vec4 skyCloudsFromTexLOD2(vec3 pos,sampler2D sampler, float LOD){
vec4 skyCloudsFromTexBLUR(vec3 pos,sampler2D sampler, float scaler){
vec2 p = sphereToCarte(pos);
return texture2DLod(sampler,p*texelSize*256. + vec2(256.0 - 256.0*0.12,1.5)*texelSize,LOD);
vec2 scaleA = texelSize*256.;
vec2 scaleB = vec2(18.5+257.,1.5)*texelSize;
vec2 posi = p;
vec2 uv = clamp(posi, 0.0, 1.0)*scaleA + scaleB;
vec4 color = texture2D(sampler, uv);
return color;
}
vec4 skyCloudsFromTexLOD(vec3 pos,sampler2D sampler, float roughness){
vec2 p = sphereToCarte(pos);
roughness = (1-pow(1-roughness,3));
float Y = min(max(p.y-0.5,0)*50.0,1);
p = mix(p, ((p-0.5) - (p-0.5)*roughness) + 0.5, Y);
// p = ((p-0.5) - (p-0.5)*roughness) + 0.5;
vec2 clampUV = vec2(1.0);
p = clamp(p*2.0-1.0, -clampUV, clampUV)*0.5+0.5;
vec2 uv = p*texelSize*256.+vec2(18.5+257.,1.5)*texelSize;
return texture2D(sampler, uv);
}
vec4 volumetricsFromTex(vec3 pos,sampler2D sampler, float LOD){
vec2 p = sphereToCarte(pos);
p = clamp(p, 0.0, 1.0);
vec2 uv = p*texelSize*256. + vec2(256.0 - 256.0*0.12,1.5)*texelSize;
return texture2DLod(sampler, uv, LOD);
}