Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions shaders/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,22 @@ option.VANILLAAO_I=Edge Shadow Intensity (Vanilla)
option.VANILLAAO_I.comment=Determines the strength of Minecraft's ambient occlusion which adds extra ambient shadowing to the edges of the scene.
value.VANILLAAO_I.0=OFF

screen.RT_LIGHTING_SETTINGS=Ray-Traced Lighting §c[-]§r
screen.RT_LIGHTING_SETTINGS.comment=Settings for screen-space ray-traced indirect lighting (SSGI). Approximates path-traced global illumination by tracing rays in screen space to gather indirect light bounces from nearby surfaces. §c[-]§r These settings can significantly impact performance.

option.RT_SUNLIGHT_TRACING=SSGI Quality
option.RT_SUNLIGHT_TRACING.comment=Enables Screen-Space Global Illumination, a path tracing approximation that adds indirect diffuse lighting bounces using screen-space ray marching. Higher quality uses more rays and steps for smoother, more accurate results. §c[-]§r This effect can impact performance, especially at higher quality levels.
value.RT_SUNLIGHT_TRACING.0=§aOFF
value.RT_SUNLIGHT_TRACING.1=§eLow
value.RT_SUNLIGHT_TRACING.2=§cMedium
value.RT_SUNLIGHT_TRACING.3=§4§lHigh

option.RT_GI_STRENGTH=SSGI Strength
option.RT_GI_STRENGTH.comment=Adjusts the intensity of the screen-space global illumination effect. Higher values produce more visible indirect light bounces.

option.RT_GI_RADIUS=SSGI Radius
option.RT_GI_RADIUS.comment=Controls how far rays are traced for indirect lighting. Larger radii capture light bouncing from more distant surfaces but may introduce noise.

option.BORDER_FOG=Border Fog
option.BORDER_FOG.comment=Intense fog on the edges of the loaded world to hide chunk borders. §e[*]§r It's recommended to disable Border Fog when playing with less than 8 chunks of render distance.

Expand Down
8 changes: 8 additions & 0 deletions shaders/lib/common.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@
#define SSAO_I 100 //[0 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 110 120 130 140 150 160 170 180 190 200 220 240 260 280 300]
#define VANILLAAO_I 100 //[0 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 110 120 130 140 150 160 170 180 190 200 220 240 260 280 300]

#define RT_SUNLIGHT_TRACING 0 //[0 1 2 3]
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The define name RT_SUNLIGHT_TRACING is misleading and inconsistent with the feature it controls. This setting controls Screen-Space Global Illumination (SSGI) quality, not sunlight tracing. The name should be changed to something like RT_SSGI_QUALITY or SSGI_QUALITY to accurately reflect its purpose. This inconsistency also appears in shaders.properties (line 50) and could confuse future developers.

Suggested change
#define RT_SUNLIGHT_TRACING 0 //[0 1 2 3]
#define RT_SSGI_QUALITY 0 //[0 1 2 3]
// Backwards compatibility alias for legacy configs/shaders
#define RT_SUNLIGHT_TRACING RT_SSGI_QUALITY

Copilot uses AI. Check for mistakes.
#define RT_GI_STRENGTH 100 //[25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 110 120 130 140 150 160 170 180 190 200]
#define RT_GI_RADIUS 3.0 //[1.0 1.5 2.0 2.5 3.0 3.5 4.0 5.0 6.0 8.0]

#define AURORA_STYLE_DEFINE -1 //[-1 0 1 2]
#define AURORA_CONDITION 3 //[0 1 2 3 4]
#define NIGHT_NEBULAE -1 //[-1 1]
Expand Down Expand Up @@ -485,6 +489,10 @@
#else
#define SSAO_QUALI 0
#endif
#if RT_SUNLIGHT_TRACING > 0
#define RT_SUNLIGHT_QUALITY RT_SUNLIGHT_TRACING
#define SSGI_ENABLED
#endif
#if LIGHTSHAFT_BEHAVIOUR > 0
#define LIGHTSHAFT_QUALI LIGHTSHAFT_QUALI_DEFINE
#else
Expand Down
95 changes: 95 additions & 0 deletions shaders/lib/lighting/screenSpaceGI.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/*
Screen-Space Global Illumination (SSGI) / Ray-Traced Indirect Lighting
Approximates path-traced indirect diffuse lighting using screen-space ray marching.
Traces rays from each fragment in random hemisphere directions to gather
indirect light bounces from nearby surfaces visible on screen.
*/

vec3 CosWeightedHemisphereDir(vec3 normal, float xi1, float xi2) {
float r = sqrt(xi1);
float phi = 6.28318530718 * xi2;

vec3 sampleDir = vec3(
r * cos(phi),
r * sin(phi),
sqrt(max(1.0 - xi1, 0.0))
);

vec3 up = abs(normal.y) < 0.999 ? vec3(0.0, 1.0, 0.0) : vec3(1.0, 0.0, 0.0);
vec3 tangent = normalize(cross(up, normal));
vec3 bitangent = cross(normal, tangent);

return tangent * sampleDir.x + bitangent * sampleDir.y + normal * sampleDir.z;
}

float DoScreenSpaceGlobalIllumination(
vec3 viewPos, vec3 normalM, float z0, float linearZ0, float dither,
out vec3 giColor
) {
giColor = vec3(0.0);

if (z0 < 0.56 || z0 > 0.9999) return 0.0; // 0.56 = hand/entity depth cutoff used throughout the pack

#if RT_SUNLIGHT_QUALITY == 1
const int samples = 2;
const int steps = 6;
#elif RT_SUNLIGHT_QUALITY == 2
const int samples = 3;
const int steps = 8;
#else
const int samples = 4;
const int steps = 12;
#endif

float radius = RT_GI_RADIUS;
float invSteps = 1.0 / float(steps);
float thicknessThreshold = radius * 0.15 * invSteps;
float totalWeight = 0.0;
vec3 totalGI = vec3(0.0);

for (int i = 0; i < samples; i++) {
float xi1 = fract(dither + float(i) * 0.618033988);
float xi2 = fract(dither * 1.414 + float(i) * 0.381966);

vec3 sampleDir = CosWeightedHemisphereDir(normalM, xi1, xi2);
vec3 viewDir = mat3(gbufferModelView) * sampleDir;
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incorrect coordinate space transformation. The sampleDir returned from CosWeightedHemisphereDir is already in view space (it's constructed in the tangent space of normalM, which is a view-space normal). Applying mat3(gbufferModelView) here incorrectly transforms it a second time. This line should simply be vec3 viewDir = sampleDir; or the transformation should be removed. This bug will cause rays to be traced in incorrect directions, significantly affecting the visual quality and correctness of the SSGI effect.

Suggested change
vec3 viewDir = mat3(gbufferModelView) * sampleDir;
vec3 viewDir = sampleDir;

Copilot uses AI. Check for mistakes.
float viewDirLen = length(viewDir);
if (viewDirLen < 0.001) continue;
viewDir /= viewDirLen;

vec3 rayStep = viewDir * (radius * invSteps);
vec3 rayPos = viewPos + rayStep;

for (int j = 1; j <= steps; j++) {
vec4 projPos = gbufferProjection * vec4(rayPos, 1.0);
vec3 screenPos = projPos.xyz / projPos.w * 0.5 + 0.5;

if (clamp(screenPos.xy, vec2(0.0), vec2(1.0)) != screenPos.xy) break;

float sampleDepth = texelFetch(depthtex0, ivec2(screenPos.xy * vec2(viewWidth, viewHeight)), 0).r;
float sampleLinear = (2.0 * near) / (far + near - sampleDepth * farMinusNear);
float rayLinear = (2.0 * near) / (far + near - screenPos.z * farMinusNear);

float depthDiff = rayLinear - sampleLinear;

if (depthDiff > 0.0 && depthDiff < thicknessThreshold) {
vec3 hitColor = texelFetch(colortex0, ivec2(screenPos.xy * vec2(viewWidth, viewHeight)), 0).rgb;
float dist = float(j) * invSteps;
float falloff = 1.0 - dist * dist;
totalGI += hitColor * falloff;
totalWeight += falloff;
break;
}

rayPos += rayStep;
}
}

if (totalWeight > 0.0) {
giColor = totalGI / totalWeight;
giColor = min(giColor, vec3(2.0));
return 1.0;
}

return 0.0;
}
2 changes: 1 addition & 1 deletion shaders/lib/lighting/shadowSampling.glsl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
vec3 GetShadowPos(vec3 playerPos) {
vec3 shadowPos = PlayerToShadow(playerPos);
float distb = sqrt(shadowPos.x * shadowPos.x + shadowPos.y * shadowPos.y);
float distb = length(shadowPos.xy);
float distortFactor = distb * shadowMapBias + (1.0 - shadowMapBias);
shadowPos.xy /= distortFactor;
shadowPos.z *= 0.2;
Expand Down
24 changes: 24 additions & 0 deletions shaders/program/deferred1.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ float GetLinearDepth(float depth) {
#include "/lib/misc/distantLightBokeh.glsl"
#endif

#ifdef SSGI_ENABLED
#include "/lib/lighting/screenSpaceGI.glsl"
#endif

//Program//
void main() {
vec4 color = vec4(texelFetch(colortex0, texelCoord, 0).rgb, 1.0);
Expand Down Expand Up @@ -191,6 +195,7 @@ void main() {

#if SSAO_QUALI > 0 || defined WORLD_OUTLINE
float linearZ0 = GetLinearDepth(z0);
#define SSGI_LINEAR_Z0_DEFINED
#endif

#if SSAO_QUALI > 0
Expand Down Expand Up @@ -221,6 +226,25 @@ void main() {

color.rgb *= ssao;

#ifdef SSGI_ENABLED
#ifndef SSGI_LINEAR_Z0_DEFINED
float linearZ0SSGI = GetLinearDepth(z0);
#else
float linearZ0SSGI = linearZ0;
#endif
vec3 ssgiWorldNormal = texelFetch(colortex4, texelCoord, 0).rgb;
vec3 ssgiViewNormal = mat3(gbufferModelView) * ssgiWorldNormal;
vec3 giColor;
float giHit = DoScreenSpaceGlobalIllumination(
viewPos.xyz, ssgiViewNormal, z0, linearZ0SSGI, dither, giColor
);
if (giHit > 0.0) {
#define SSGI_INTENSITY_SCALE 0.15
float giStrength = RT_GI_STRENGTH * 0.01;
color.rgb += giColor * giStrength * SSGI_INTENSITY_SCALE;
}
#endif

#ifdef PBR_REFLECTIONS
vec3 texture4 = texelFetch(colortex4, texelCoord, 0).rgb;
normalM = mat3(gbufferModelView) * texture4;
Expand Down
19 changes: 10 additions & 9 deletions shaders/shaders.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Profiles
profile.POTATO = SHADOW_QUALITY=-1 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
profile.VERYLOW = SHADOW_QUALITY=0 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
profile.LOW = SHADOW_QUALITY=0 shadowDistance=96.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
profile.MEDIUM = SHADOW_QUALITY=1 shadowDistance=128.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=1 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
profile.HIGH = SHADOW_QUALITY=2 shadowDistance=192.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1
profile.VERYHIGH = SHADOW_QUALITY=3 shadowDistance=224.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=256 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1
profile.ULTRA = SHADOW_QUALITY=4 shadowDistance=256.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=3 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=512 WORLD_SPACE_REFLECTIONS=1 ENTITY_SHADOW=1
profile.POTATO = SHADOW_QUALITY=-1 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1 RT_SUNLIGHT_TRACING=0
profile.VERYLOW = SHADOW_QUALITY=0 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1 RT_SUNLIGHT_TRACING=0
profile.LOW = SHADOW_QUALITY=0 shadowDistance=96.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1 RT_SUNLIGHT_TRACING=0
profile.MEDIUM = SHADOW_QUALITY=1 shadowDistance=128.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=1 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1 RT_SUNLIGHT_TRACING=0
profile.HIGH = SHADOW_QUALITY=2 shadowDistance=192.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1 RT_SUNLIGHT_TRACING=0
profile.VERYHIGH = SHADOW_QUALITY=3 shadowDistance=224.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=256 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1 RT_SUNLIGHT_TRACING=1
profile.ULTRA = SHADOW_QUALITY=4 shadowDistance=256.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=3 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=512 WORLD_SPACE_REFLECTIONS=1 ENTITY_SHADOW=1 RT_SUNLIGHT_TRACING=2

# Screen Setup
screen=<empty> <empty> [INFORMATION] SHADER_STYLE <profile> RP_MODE <empty> <empty> [PERFORMANCE_SETTINGS] [CAMERA_SETTINGS] [LIGHTING_SETTINGS] [ATMOSPHERE_SETTINGS] [MATERIAL_SETTINGS] [OTHER_SETTINGS]
Expand Down Expand Up @@ -46,7 +46,8 @@
screen.RAIN_ATM_MULTS=<empty> <empty> ATM_RAIN_R ATM_RAIN_G ATM_RAIN_B ATM_RAIN_I
screen.NETHER_ATM_MULTS=<empty> <empty> ATM_NETHER_R ATM_NETHER_G ATM_NETHER_B ATM_NETHER_I
screen.END_ATM_MULTS=<empty> <empty> ATM_END_R ATM_END_G ATM_END_B ATM_END_I
screen.LIGHTING_SETTINGS=<empty> <empty> [LIGHT_COLOR_SETTINGS] AMBIENT_MULT [BLOCKLIGHT_SETTINGS] SHADOW_SMOOTHING [PIXELATED_LIGHTING_SETTINGS] CAVE_LIGHTING SSAO_I VANILLAAO_I PLAYER_SHADOW
screen.LIGHTING_SETTINGS=<empty> <empty> [LIGHT_COLOR_SETTINGS] AMBIENT_MULT [BLOCKLIGHT_SETTINGS] SHADOW_SMOOTHING [PIXELATED_LIGHTING_SETTINGS] CAVE_LIGHTING SSAO_I VANILLAAO_I PLAYER_SHADOW <empty> [RT_LIGHTING_SETTINGS]
screen.RT_LIGHTING_SETTINGS=<empty> <empty> RT_SUNLIGHT_TRACING <empty> RT_GI_STRENGTH RT_GI_RADIUS
screen.LIGHT_COLOR_SETTINGS=<empty> <empty> LIGHT_COLOR_MULTS <empty> <empty> <empty> [MORNING_LIGHT_MULTS] [NOON_LIGHT_MULTS] [NIGHT_LIGHT_MULTS] [RAIN_LIGHT_MULTS] [NETHER_LIGHT_MULTS] [END_LIGHT_MULTS]
screen.MORNING_LIGHT_MULTS=<empty> <empty> LIGHT_MORNING_R LIGHT_MORNING_G LIGHT_MORNING_B LIGHT_MORNING_I
screen.NOON_LIGHT_MULTS=<empty> <empty> LIGHT_NOON_R LIGHT_NOON_G LIGHT_NOON_B LIGHT_NOON_I
Expand All @@ -63,7 +64,7 @@
screen.ACT_FEATURES_SETTINGS=<empty> <empty> COLORED_LIGHT_SATURATION <empty> COLORED_LIGHT_FOG COLORED_LIGHT_FOG_I <empty> <empty> WORLD_SPACE_REFLECTIONS <empty> WORLD_SPACE_REF_MODE WORLD_SPACE_PLAYER_REF <empty> <empty> CONNECTED_GLASS_EFFECT PORTAL_EDGE_EFFECT PUDDLE_VOXELIZATION COLORED_CANDLE_LIGHT

# Set Sliders
sliders=shadowDistance BLOOM_STRENGTH CLOUD_ALT1 CLOUD_ALT2 TM_EXPOSURE TM_CONTRAST T_SATURATION T_VIBRANCE MOTION_BLURRING_STRENGTH NORMAL_MAP_STRENGTH CUSTOM_EMISSION_INTENSITY IMAGE_SHARPENING SUN_ANGLE ATM_FOG_MULT ATM_FOG_DISTANCE ATM_FOG_ALTITUDE CAVE_LIGHTING GR_RR GR_RG GR_RB GR_RC GR_GR GR_GG GR_GB GR_GC GR_BR GR_BG GR_BB GR_BC POM_DEPTH POM_QUALITY POM_DISTANCE WATER_BUMPINESS WATER_BUMP_SMALL WATER_BUMP_MED WATER_BUMP_BIG WATER_SPEED_MULT WATER_SIZE_MULT WATER_REFRACTION_INTENSITY SELECT_OUTLINE_I SELECT_OUTLINE_R SELECT_OUTLINE_G SELECT_OUTLINE_B LIGHT_NOON_R LIGHT_NOON_G LIGHT_NOON_B LIGHT_NOON_I ATM_NOON_R ATM_NOON_G ATM_NOON_B ATM_NOON_I LIGHT_MORNING_R LIGHT_MORNING_G LIGHT_MORNING_B LIGHT_MORNING_I ATM_MORNING_R ATM_MORNING_G ATM_MORNING_B ATM_MORNING_I LIGHT_NIGHT_R LIGHT_NIGHT_G LIGHT_NIGHT_B LIGHT_NIGHT_I ATM_NIGHT_R ATM_NIGHT_G ATM_NIGHT_B ATM_NIGHT_I LIGHT_RAIN_R LIGHT_RAIN_G LIGHT_RAIN_B LIGHT_RAIN_I ATM_RAIN_R ATM_RAIN_G ATM_RAIN_B ATM_RAIN_I LIGHT_NETHER_R LIGHT_NETHER_G LIGHT_NETHER_B LIGHT_NETHER_I ATM_NETHER_R ATM_NETHER_G ATM_NETHER_B ATM_NETHER_I LIGHT_END_R LIGHT_END_G LIGHT_END_B LIGHT_END_I ATM_END_R ATM_END_G ATM_END_B ATM_END_I WORLD_OUTLINE_I AMBIENT_MULT GENERATED_NORMAL_MULT COATED_TEXTURE_MULT LIGHTSHAFT_DAY_I LIGHTSHAFT_NIGHT_I LIGHTSHAFT_RAIN_I WATERCOLOR_R WATERCOLOR_G WATERCOLOR_B WATER_FOAM_I WATER_ALPHA_MULT WATER_FOG_MULT UNDERWATERCOLOR_R UNDERWATERCOLOR_G UNDERWATERCOLOR_B GLOWING_ORE_MULT SSAO_I VANILLAAO_I CHROMA_ABERRATION XLIGHT_R XLIGHT_G XLIGHT_B NIGHT_NEBULA_I WEATHER_TEX_OPACITY NETHER_STORM_LOWER_ALT NETHER_STORM_HEIGHT NETHER_STORM_I CLOUD_UNBOUND_AMOUNT CLOUD_UNBOUND_SIZE_MULT CLOUD_UNBOUND_RAIN_ADD CLOUD_SPEED_MULT WB_DOF_I WB_DOF_FOCUS WB_DB_DAY_I WB_DB_NIGHT_I WB_DB_RAIN_I WB_DB_WATER_I WB_DB_NETHER_I WB_DB_END_I WAVING_SPEED WAVING_I MOON_PHASE_FULL MOON_PHASE_PARTIAL MOON_PHASE_DARK LENSFLARE_I SHADOW_SMOOTHING BLOCKLIGHT_FLICKERING NETHER_VIEW_LIMIT CLOUD_R CLOUD_G CLOUD_B WAVING_I_RAIN_MULT COLORED_LIGHT_FOG_I XLIGHT_I COLORED_LIGHT_SATURATION PIXEL_SCALE TM_DARK_DESATURATION TM_WHITE_PATH NIGHT_STAR_AMOUNT FXAA_TAA_INTERACTION FXAA_STRENGTH LIGHTSHAFT_SUNSET_SATURATION XLIGHT_CURVE
sliders=shadowDistance BLOOM_STRENGTH CLOUD_ALT1 CLOUD_ALT2 TM_EXPOSURE TM_CONTRAST T_SATURATION T_VIBRANCE MOTION_BLURRING_STRENGTH NORMAL_MAP_STRENGTH CUSTOM_EMISSION_INTENSITY IMAGE_SHARPENING SUN_ANGLE ATM_FOG_MULT ATM_FOG_DISTANCE ATM_FOG_ALTITUDE CAVE_LIGHTING GR_RR GR_RG GR_RB GR_RC GR_GR GR_GG GR_GB GR_GC GR_BR GR_BG GR_BB GR_BC POM_DEPTH POM_QUALITY POM_DISTANCE WATER_BUMPINESS WATER_BUMP_SMALL WATER_BUMP_MED WATER_BUMP_BIG WATER_SPEED_MULT WATER_SIZE_MULT WATER_REFRACTION_INTENSITY SELECT_OUTLINE_I SELECT_OUTLINE_R SELECT_OUTLINE_G SELECT_OUTLINE_B LIGHT_NOON_R LIGHT_NOON_G LIGHT_NOON_B LIGHT_NOON_I ATM_NOON_R ATM_NOON_G ATM_NOON_B ATM_NOON_I LIGHT_MORNING_R LIGHT_MORNING_G LIGHT_MORNING_B LIGHT_MORNING_I ATM_MORNING_R ATM_MORNING_G ATM_MORNING_B ATM_MORNING_I LIGHT_NIGHT_R LIGHT_NIGHT_G LIGHT_NIGHT_B LIGHT_NIGHT_I ATM_NIGHT_R ATM_NIGHT_G ATM_NIGHT_B ATM_NIGHT_I LIGHT_RAIN_R LIGHT_RAIN_G LIGHT_RAIN_B LIGHT_RAIN_I ATM_RAIN_R ATM_RAIN_G ATM_RAIN_B ATM_RAIN_I LIGHT_NETHER_R LIGHT_NETHER_G LIGHT_NETHER_B LIGHT_NETHER_I ATM_NETHER_R ATM_NETHER_G ATM_NETHER_B ATM_NETHER_I LIGHT_END_R LIGHT_END_G LIGHT_END_B LIGHT_END_I ATM_END_R ATM_END_G ATM_END_B ATM_END_I WORLD_OUTLINE_I AMBIENT_MULT GENERATED_NORMAL_MULT COATED_TEXTURE_MULT LIGHTSHAFT_DAY_I LIGHTSHAFT_NIGHT_I LIGHTSHAFT_RAIN_I WATERCOLOR_R WATERCOLOR_G WATERCOLOR_B WATER_FOAM_I WATER_ALPHA_MULT WATER_FOG_MULT UNDERWATERCOLOR_R UNDERWATERCOLOR_G UNDERWATERCOLOR_B GLOWING_ORE_MULT SSAO_I VANILLAAO_I CHROMA_ABERRATION XLIGHT_R XLIGHT_G XLIGHT_B NIGHT_NEBULA_I WEATHER_TEX_OPACITY NETHER_STORM_LOWER_ALT NETHER_STORM_HEIGHT NETHER_STORM_I CLOUD_UNBOUND_AMOUNT CLOUD_UNBOUND_SIZE_MULT CLOUD_UNBOUND_RAIN_ADD CLOUD_SPEED_MULT WB_DOF_I WB_DOF_FOCUS WB_DB_DAY_I WB_DB_NIGHT_I WB_DB_RAIN_I WB_DB_WATER_I WB_DB_NETHER_I WB_DB_END_I WAVING_SPEED WAVING_I MOON_PHASE_FULL MOON_PHASE_PARTIAL MOON_PHASE_DARK LENSFLARE_I SHADOW_SMOOTHING BLOCKLIGHT_FLICKERING NETHER_VIEW_LIMIT CLOUD_R CLOUD_G CLOUD_B WAVING_I_RAIN_MULT COLORED_LIGHT_FOG_I XLIGHT_I COLORED_LIGHT_SATURATION PIXEL_SCALE TM_DARK_DESATURATION TM_WHITE_PATH NIGHT_STAR_AMOUNT FXAA_TAA_INTERACTION FXAA_STRENGTH LIGHTSHAFT_SUNSET_SATURATION XLIGHT_CURVE RT_GI_STRENGTH RT_GI_RADIUS

# Special Define Handling
# Needed to disable colored lighting related code in shaders.properties
Expand Down