mirror of
https://github.com/Merlin1809/Eclipse-Shader.git
synced 2026-10-10 04:53:07 +08:00
fix https://github.com/Merlin1809/Eclipse-Shader/issues/92 , bunch of fixes for photonics
This commit is contained in:
@@ -480,8 +480,7 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 )
|
||||
float distancefade = min(max(1.0 - viewDist/clamp(far-16*4, 16, maxOverdrawDistance),0.0)*5,1.0);
|
||||
|
||||
if(texelFetch(depthtex0, ivec2(gl_FragCoord.xy), 0).x < 1.0 || distancefade > 0.0){
|
||||
gl_FragData[0].a = 0.0;
|
||||
material = 0.0;
|
||||
discard;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ const bool colortex5MipmapEnabled = true;
|
||||
uniform float nightVision;
|
||||
uniform float frameTimeCounter;
|
||||
uniform float rainStrength;
|
||||
#define PHOTONICS_LIGHT_PASS
|
||||
|
||||
#if defined OVERWORLD_SHADER || (defined END_ISLAND_LIGHT && defined END_SHADER)
|
||||
const bool shadowHardwareFiltering = true;
|
||||
|
||||
@@ -255,4 +255,13 @@ void main() {
|
||||
|
||||
gl_Position = toClipSpace3(mat3(gbufferModelView) * vec3(worldpos) + gbufferModelView[3].xyz);
|
||||
|
||||
#ifdef TAA_UPSCALING
|
||||
gl_Position.xy = gl_Position.xy * RENDER_SCALE + RENDER_SCALE * gl_Position.w - gl_Position.w;
|
||||
#endif
|
||||
#ifdef TAA
|
||||
vec2 TAA_offsets = offsets[framemod8];
|
||||
|
||||
gl_Position.xy += TAA_offsets * gl_Position.w*texelSize;
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit
|
||||
prefix.SHADER_VERSION_LABEL = V
|
||||
value.SHADER_VERSION_LABEL.482 = 6.3.0
|
||||
value.SHADER_VERSION_LABEL.482 = 6.3.1
|
||||
|
||||
# if you're here to translate, this is not a joke, these do what they say
|
||||
profile.POTATO=§4Potato
|
||||
@@ -1273,6 +1273,7 @@ screen.PHOTONICS_SETTINGS = Photonics Settings
|
||||
option.PHOTONICS_ENABLED = Enable Photonics
|
||||
option.PHOTONICS_INDIRECT_BRIGHTNESS = GI Brightness
|
||||
option.PHOTONICS_GI_ONLY = GI Only
|
||||
option.PHOTONICS_FLOODFILL_FOG_LIGHT_PROPAGATION = Fog Light Propagation (Floodfill!)
|
||||
|
||||
|
||||
option.TRANSLUCENT_COLORED_SHADOWS.comment = §bWhat is this?§r This effect allows translucent things like stained glass to color the sunlight as it passes through it. §aPERFORMANCE COST:§r medium
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - Bliss 编辑版
|
||||
prefix.SHADER_VERSION_LABEL = 版本
|
||||
value.SHADER_VERSION_LABEL.482 = 6.3.0
|
||||
value.SHADER_VERSION_LABEL.482 = 6.3.1
|
||||
|
||||
# 如果你是来翻译的,这不是玩笑,这些选项的功能正如其名
|
||||
profile.POTATO=§4土豆 (极低配置)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return (2.0 * _near) / (_far + _near - depth * (_far - _near));
|
||||
}
|
||||
|
||||
float SSRT_Handlight_Shadows(vec3 viewPos, bool depthCheck, vec3 lightDir, float noise, vec3 normals, bool hand){
|
||||
float SSRT_Handlight_Shadows(vec3 viewPos, const bool depthCheck, vec3 lightDir, float noise, vec3 normals, bool hand){
|
||||
|
||||
if(hand) return 1.0;
|
||||
|
||||
@@ -116,7 +116,7 @@ vec3 doBlockLightLighting(
|
||||
float lightmapCurve = mix(lightmapLight, 2.5, lightmapBrightspot);
|
||||
vec3 blockLight = lightmapCurve * lightColor;
|
||||
|
||||
#if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store
|
||||
#if defined IS_LPV_ENABLED && defined MC_GL_ARB_shader_image_load_store && (!defined PHOTONICS_LIGHT_PASS || !defined PHOTONICS_ENABLED)
|
||||
vec4 lpvSample = SampleLpvLinear(lpvPos);
|
||||
#ifdef VANILLA_LIGHTMAP_MASK
|
||||
lpvSample.rgb *= lightmapCurve;
|
||||
@@ -168,15 +168,29 @@ vec3 doBlockLightLighting(
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined PHOTONICS_ENABLED && !defined PHOTONICS_GI_ONLY
|
||||
vec3 ph_direct_hand = texture(radiosity_handheld, gl_FragCoord.xy*texelSize).xyz;
|
||||
vec3 ph_direct = texture(radiosity_direct, gl_FragCoord.xy*texelSize).xyz;
|
||||
vec4 ph_direct_soft = texture(radiosity_direct_soft, gl_FragCoord.xy*texelSize);
|
||||
#if defined PHOTONICS_ENABLED && !defined PHOTONICS_GI_ONLY && !defined WEATHER && defined PHOTONICS_LIGHT_PASS
|
||||
#if defined DISTANT_HORIZONS || defined VOXY
|
||||
if(!depthCheck)
|
||||
#endif
|
||||
{
|
||||
vec3 ph_direct_hand = texture(radiosity_handheld, gl_FragCoord.xy*texelSize).xyz;
|
||||
vec3 ph_direct = texture(radiosity_direct, gl_FragCoord.xy*texelSize).xyz;
|
||||
vec4 ph_direct_soft = texture(radiosity_direct_soft, gl_FragCoord.xy*texelSize);
|
||||
|
||||
blockLight = ph_direct_hand * 1.35;
|
||||
blockLight += ph_direct;
|
||||
blockLight = pow(blockLight, vec3(1.45));
|
||||
blockLight += (ph_direct_soft.xyz / max(ph_direct_soft.w, 1.0f));
|
||||
vec3 photonicsLight = ph_direct_hand * 1.35;
|
||||
photonicsLight += ph_direct;
|
||||
photonicsLight = pow(photonicsLight, vec3(1.45));
|
||||
photonicsLight += (ph_direct_soft.xyz / max(ph_direct_soft.w, 1.0f));
|
||||
photonicsLight += lightColor * 2.5 * min(max(lightmap-0.999,0.0)/(1.0-0.999),1.0);
|
||||
|
||||
|
||||
#if defined DISTANT_HORIZONS || defined VOXY
|
||||
float photonicsFalloff = smoothstep(min(1.0*far, 256.0), min(0.9*far, 230.0), length(playerPos));
|
||||
blockLight = mix(blockLight, photonicsLight, photonicsFalloff);
|
||||
#else
|
||||
blockLight = photonicsLight;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
return blockLight * TORCH_AMOUNT;
|
||||
|
||||
@@ -1162,10 +1162,19 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
|
||||
|
||||
// #define PHOTONICS_GI_ONLY
|
||||
|
||||
// #define PHOTONICS_FLOODFILL_FOG_LIGHT_PROPAGATION
|
||||
|
||||
#ifdef PHOTONICS_FLOODFILL_FOG_LIGHT_PROPAGATION
|
||||
#endif
|
||||
|
||||
#if defined PHOTONICS_ENABLED && !defined PHOTONICS_GI_ONLY
|
||||
|
||||
#ifndef PHOTONICS_FLOODFILL_FOG_LIGHT_PROPAGATION
|
||||
#undef IS_LPV_ENABLED
|
||||
#undef LPV_ENABLED
|
||||
#endif
|
||||
|
||||
#undef Hand_Held_lights
|
||||
#undef LPV_ENABLED
|
||||
#undef IS_LPV_ENABLED
|
||||
#undef VOXEL_REFLECTIONS
|
||||
#undef MIRROR_IRON
|
||||
#endif
|
||||
|
||||
@@ -526,7 +526,7 @@ SHADER_VERSION_LABEL <profile> \
|
||||
######## MOD SUPPORT SETTINGS
|
||||
screen.Mod_support = [DISTANT_HORIZONS_SETTINGS] [PHYSICS_MOD_OCEAN] [VOXY_SETTINGS] CAELUM_SUPPORT [PHOTONICS_SETTINGS]
|
||||
screen.PHOTONICS_SETTINGS.columns = 1
|
||||
screen.PHOTONICS_SETTINGS = PHOTONICS_ENABLED PHOTONICS_INDIRECT_BRIGHTNESS PHOTONICS_GI_ONLY
|
||||
screen.PHOTONICS_SETTINGS = PHOTONICS_ENABLED PHOTONICS_INDIRECT_BRIGHTNESS PHOTONICS_GI_ONLY PHOTONICS_FLOODFILL_FOG_LIGHT_PROPAGATION
|
||||
|
||||
screen.DISTANT_HORIZONS_SETTINGS.columns = 1
|
||||
screen.DISTANT_HORIZONS_SETTINGS = DH_OVERDRAW_PREVENTION OVERDRAW_MAX_DISTANCE DH_CHUNK_FADING <empty> DH_AMBIENT_OCCLUSION DH_SUBSURFACE_SCATTERING DH_SCREENSPACE_REFLECTIONS DH_TAA_JITTER DH_NOISE_TEXTURE NOISE_RESOLUTION NOISE_INTENSITY NOISE_DROPOFF <empty> DISTANT_HORIZONS_SHADOWMAP shadowDistance shadowMapResolution <empty> TOGGLE_VL_FOG VOLUMETRIC_CLOUDS
|
||||
|
||||
Reference in New Issue
Block a user