Skip to content
Merged
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
29 changes: 29 additions & 0 deletions shaders/lang/en_US.lang
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ profile.DEFAULT=§aDefault
profile.OPTIFINE_COMPAT=Optifine Compatibility
profile.STRONG=§eStrong
profile.EXTREME=§e§lExtreme
profile.EXTREMER=§6§lExtra-eme
profile.AIWS=§kAIWS

screen.PixelSize=Pixel Size
Expand Down Expand Up @@ -61,6 +62,34 @@ option.DISCARD_SKY=Discard Sky
option.FOG_MULT=Fog Multiplier
option.HAND_DYNAMIC_LIGHTING=Dynamic Lighting

option.VERT_ROUNDING_SIZE=Floating Point Precision
option.COLOR_RESOLUTION=Color Resolution
option.SATURATION=Saturation

value.VERT_ROUNDING_SIZE.8=§c8
value.VERT_ROUNDING_SIZE.4=§c4
value.VERT_ROUNDING_SIZE.2=§c2
value.VERT_ROUNDING_SIZE.1=§c1
value.VERT_ROUNDING_SIZE.-1=Off
value.COLOR_RESOLUTION.100=Full
value.COLOR_RESOLUTION.90=9
value.COLOR_RESOLUTION.80=8
value.COLOR_RESOLUTION.70=7
value.COLOR_RESOLUTION.60=6
value.COLOR_RESOLUTION.50=5
value.COLOR_RESOLUTION.40=4
value.COLOR_RESOLUTION.30=3
value.COLOR_RESOLUTION.20=§c2
value.COLOR_RESOLUTION.15=§c1.5
value.COLOR_RESOLUTION.10=§c1
value.SATURATION.-1=Normal
value.SATURATION.15=1.5
value.SATURATION.20=§c2
value.SATURATION.30=§c3
value.SATURATION.40=§c4
value.SATURATION.50=§c5
value.SATURATION.100=§c10

value.DARK_EDGES.-1=§cOff
value.BLUR_SIZE.-1=§cOff
value.STATIC.-1=§cOff
Expand Down
13 changes: 13 additions & 0 deletions shaders/program/composite.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -227,5 +227,18 @@ void main() {
sum *= min(a + v2*0.2, 1.0f);
#endif

#if COLOR_RESOLUTION != 100
sum = vec3(sum - fract(sum * COLOR_RESOLUTION_F) / COLOR_RESOLUTION_F);
#endif

#if SATURATION != -1
if (texcoord_vs.x < texcoord_vs.x*100 - DARK_EDGES && texcoord_vs.x < (1-texcoord_vs.x)*150- int(DARK_EDGES * 1.5))
{
float luma = dot(sum, vec3(0.3, 0.59, 0.11));
vec3 chroma = (sum - luma) * SATURATION_F;
sum = luma + chroma;
}
#endif

gl_FragData[0] = vec4(sum, 1.0);
}
10 changes: 10 additions & 0 deletions shaders/program/gbuffers_textured.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ attribute vec2 mc_Entity;
//Model * view matrix and it's inverse.
uniform mat4 gbufferModelView;
uniform mat4 gbufferModelViewInverse;
uniform float viewWidth;
uniform float viewHeight;

#include "/common/getWorldPosition.vsh"

Expand Down Expand Up @@ -40,6 +42,14 @@ void main()
gl_Position = gl_ProjectionMatrix * gbufferModelView * vec4(pos,1);
gl_FogFragCoord = length(pos);

#if VERT_ROUNDING_SIZE != -1
gl_Position.y *= (viewWidth / viewHeight);
gl_Position.xy *= VERT_ROUNDING_SIZE;
gl_Position.xy = floor(gl_Position.xy);
gl_Position.xy /= VERT_ROUNDING_SIZE;
gl_Position.y *= (viewHeight / viewWidth);
#endif

//Calculate view space normal.
vec3 normal = gl_NormalMatrix * gl_Normal;
//Use flat for flat "blocks" or world space normal for solid blocks.
Expand Down
12 changes: 12 additions & 0 deletions shaders/shader.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@
#define FOG_MULT 100 //[0 25 50 75 100 125 150 200 250 350 500]
#define HAND_DYNAMIC_LIGHTING

#define VERT_ROUNDING_SIZE -1 //[1 2 4 8 16 32 64 -1]
#define SATURATION -1 //[-1 15 20 30 40 50 100]
#define COLOR_RESOLUTION 100 //[10 15 20 30 40 50 60 70 80 90 100]

const float PI = 3.1415926535897932384626433832795;
const float PI2 = 6.283185307179586476925286766559;

Expand Down Expand Up @@ -80,6 +84,14 @@ const float PI2 = 6.283185307179586476925286766559;
#endif


#if SATURATION != -1
const float SATURATION_F = float(SATURATION) / 10.0;
#endif

#if COLOR_RESOLUTION != 100
const float COLOR_RESOLUTION_F = float(COLOR_RESOLUTION) / 10.0;
#endif

#if BLUR_SIZE != -1
const float BLUR_SIZE_F = float(BLUR_SIZE) / 10000.0;
#else
Expand Down
11 changes: 6 additions & 5 deletions shaders/shaders.properties
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
sliders=DARK_EDGES BLUR_SIZE STATIC SCREEN_TEAR_SIZE SCREEN_TEAR_DELAY SCREEN_TEAR_SPEED STATIC_TEAR_CHANCE BLOOM_SIZE DISTRORTION_FACTOR TINT_RED TINT_GREEN TINT_BLUE BNW SCANLINE_INTENSITY RENDER_PIXEL_SIZE FX_PIXEL_SIZE SCANLINE_PIXEL_SIZE GRAIN_INTENSITY AIWS_SPEED AIWS_INTENSITY LIGHTNING_STRENGTH DARKNESS_INTENSITY COLOR_LIGHT_SKY_R COLOR_LIGHT_SKY_G COLOR_LIGHT_SKY_B COLOR_LIGHT_BLOCK_R COLOR_LIGHT_SUNRISE_R COLOR_LIGHT_SUNRISE_G COLOR_LIGHT_SUNRISE_B COLOR_LIGHT_BLOCK_R COLOR_LIGHT_BLOCK_G COLOR_LIGHT_BLOCK_B LIGHTMAP_DITERING MOONLIGHT_STRENGHT FOG_MULT COLOR_LIGHT_HAND_R COLOR_LIGHT_HAND_G COLOR_LIGHT_HAND_B
sliders=DARK_EDGES BLUR_SIZE STATIC SCREEN_TEAR_SIZE SCREEN_TEAR_DELAY SCREEN_TEAR_SPEED STATIC_TEAR_CHANCE BLOOM_SIZE DISTRORTION_FACTOR TINT_RED TINT_GREEN TINT_BLUE BNW SCANLINE_INTENSITY RENDER_PIXEL_SIZE FX_PIXEL_SIZE SCANLINE_PIXEL_SIZE GRAIN_INTENSITY AIWS_SPEED AIWS_INTENSITY LIGHTNING_STRENGTH DARKNESS_INTENSITY COLOR_LIGHT_SKY_R COLOR_LIGHT_SKY_G COLOR_LIGHT_SKY_B COLOR_LIGHT_BLOCK_R COLOR_LIGHT_SUNRISE_R COLOR_LIGHT_SUNRISE_G COLOR_LIGHT_SUNRISE_B COLOR_LIGHT_BLOCK_R COLOR_LIGHT_BLOCK_G COLOR_LIGHT_BLOCK_B LIGHTMAP_DITERING MOONLIGHT_STRENGHT FOG_MULT COLOR_LIGHT_HAND_R COLOR_LIGHT_HAND_G COLOR_LIGHT_HAND_B SATURATION COLOR_RESOLUTION VERT_ROUNDING_SIZE

profile.DISABLED=AIWS=0 !PORTAL_STATIC !DITTER_FOG !BNW_PRE_TINT VANILLA_LIGHT DARK_EDGES=-1 BLUR_SIZE=-1 STATIC=-1 SCREEN_TEAR_SIZE=-1 STATIC_TEAR_CHANCE=-1 BLOOM_SIZE=-1 DISTRORTION_FACTOR=-1 TINT_RED=100 TINT_GREEN=100 TINT_BLUE=100 BNW=-1 LIGHTNING_STRENGTH=-1 DARKNESS_INTENSITY=-1 SCANLINE_INTENSITY=-1 RENDER_PIXEL_SIZE=1 FX_PIXEL_SIZE=1 SCANLINE_PIXEL_SIZE=1 GRAIN_INTENSITY=-1 LIGHTMAP_DITERING=-1 MOONLIGHT_STRENGHT=40 COLOR_LIGHT_SKY_R=100 COLOR_LIGHT_SKY_G=96 COLOR_LIGHT_SKY_B=99 COLOR_LIGHT_SUNRISE_R=82 COLOR_LIGHT_SUNRISE_G=75 COLOR_LIGHT_SUNRISE_B=70 COLOR_LIGHT_BLOCK_R=100 COLOR_LIGHT_BLOCK_G=91 COLOR_LIGHT_BLOCK_B=84 AIWS=0 !DISCARD_SKY FOG_MULT=100 COLOR_LIGHT_HAND_B=70 COLOR_LIGHT_HAND_G=83 COLOR_LIGHT_HAND_R=102 !HAND_DYNAMIC_LIGHTING
profile.DEFAULT=profile.DISABLED PORTAL_STATIC PORTAL_STATIC_PARTICLES !SCREEN_TEAR_SOLID !VANILLA_LIGHT DARK_EDGES=0 BLUR_SIZE=100 STATIC=10 SCREEN_TEAR_SIZE=8 SCREEN_TEAR_DELAY=10000 SCREEN_TEAR_SPEED=1300 STATIC_TEAR_CHANCE=75 BLOOM_SIZE=90 DISTRORTION_FACTOR=10 TINT_GREEN=110 LIGHTNING_STRENGTH=120 DARKNESS_INTENSITY=140 SCANLINE_INTENSITY=50 GRAIN_INTENSITY=30 LIGHTMAP_DITERING=100 MOONLIGHT_STRENGHT=10 AIWS_TYPE=0 AIWS_SOURCE=0 AIWS_SPEED=10 AIWS_INTENSITY=50 HAND_DYNAMIC_LIGHTING
profile.DISABLED=AIWS=0 !PORTAL_STATIC !DITTER_FOG !BNW_PRE_TINT VANILLA_LIGHT DARK_EDGES=-1 BLUR_SIZE=-1 STATIC=-1 SCREEN_TEAR_SIZE=-1 STATIC_TEAR_CHANCE=-1 BLOOM_SIZE=-1 DISTRORTION_FACTOR=-1 TINT_RED=100 TINT_GREEN=100 TINT_BLUE=100 BNW=-1 LIGHTNING_STRENGTH=-1 DARKNESS_INTENSITY=-1 SCANLINE_INTENSITY=-1 RENDER_PIXEL_SIZE=1 FX_PIXEL_SIZE=1 SCANLINE_PIXEL_SIZE=1 GRAIN_INTENSITY=-1 LIGHTMAP_DITERING=-1 MOONLIGHT_STRENGHT=40 COLOR_LIGHT_SKY_R=100 COLOR_LIGHT_SKY_G=96 COLOR_LIGHT_SKY_B=99 COLOR_LIGHT_SUNRISE_R=82 COLOR_LIGHT_SUNRISE_G=75 COLOR_LIGHT_SUNRISE_B=70 COLOR_LIGHT_BLOCK_R=100 COLOR_LIGHT_BLOCK_G=91 COLOR_LIGHT_BLOCK_B=84 AIWS=0 !DISCARD_SKY FOG_MULT=100 COLOR_LIGHT_HAND_B=70 COLOR_LIGHT_HAND_G=83 COLOR_LIGHT_HAND_R=102 !HAND_DYNAMIC_LIGHTING SATURATION=-1 COLOR_RESOLUTION=100 VERT_ROUNDING_SIZE=-1
profile.DEFAULT=profile.DISABLED PORTAL_STATIC PORTAL_STATIC_PARTICLES !SCREEN_TEAR_SOLID !VANILLA_LIGHT DARK_EDGES=0 BLUR_SIZE=100 STATIC=10 SCREEN_TEAR_SIZE=8 SCREEN_TEAR_DELAY=10000 SCREEN_TEAR_SPEED=1300 STATIC_TEAR_CHANCE=75 BLOOM_SIZE=90 DISTRORTION_FACTOR=10 TINT_GREEN=110 LIGHTNING_STRENGTH=120 DARKNESS_INTENSITY=140 SCANLINE_INTENSITY=50 GRAIN_INTENSITY=30 LIGHTMAP_DITERING=100 MOONLIGHT_STRENGHT=10 AIWS_TYPE=0 AIWS_SOURCE=0 AIWS_SPEED=10 AIWS_INTENSITY=50 HAND_DYNAMIC_LIGHTING SATURATION=-1 COLOR_RESOLUTION=100 VERT_ROUNDING_SIZE=-1
profile.OPTIFINE_COMPAT=profile.DEFAULT !PORTAL_STATIC !PORTAL_STATIC_PARTICLES VANILLA_LIGHT
profile.STRONG=profile.DEFAULT DITTER_FOG DISTRORTION_FACTOR=20 RENDER_PIXEL_SIZE=2 DARK_EDGES=5 DARKNESS_INTENSITY=230 AIWS=2 SCREEN_TEAR_SOLID LIGHTNING_STRENGTH=140 BLOOM_SIZE=110
profile.EXTREME=profile.STRONG SCANLINE_INTENSITY=120 SCREEN_TEAR_DELAY=100 BLUR_SIZE=200 BLOOM_SIZE=120 SCREEN_TEAR_SIZE=4 SCREEN_TEAR_SPEED=4000 MOONLIGHT_STRENGHT=25 AIWS_INTENSITY=100 DISTRORTION_FACTOR=50 RENDER_PIXEL_SIZE=3 GRAIN_INTENSITY=40 DARK_EDGES=20 AIWS=2 STATIC=10 STATIC_TEAR_CHANCE=85
profile.EXTREMER=profile.DEFAULT SATURATION=15 COLOR_RESOLUTION=40 VERT_ROUNDING_SIZE=32 RENDER_PIXEL_SIZE=4 DARK_EDGES=5 DISTRORTION_FACTOR=2400 GRAIN_INTENSITY=10 SCREEN_TEAR_DELAY=500 STATIC=20 STATIC_TEAR_CHANCE=90
profile.AIWS=profile.DEFAULT AIWS=1 AIWS_INTENSITY=100 !PORTAL_STATIC !PORTAL_STATIC_PARTICLES DISTRORTION_FACTOR=50
profile.NVG=profile.DEFAULT BNW_PRE_TINT DITTER_FOG SCANLINE_INTENSITY=-1 TINT_BLUE=99 BNW=90 LIGHTNING_STRENGTH=200 BLUR_SIZE=-1 BLOOM_SIZE=20 DISTRORTION_FACTOR=30 !PORTAL_STATIC GRAIN_INTENSITY=90 DARK_EDGES=20 SCREEN_TEAR_SIZE=-1 DARKNESS_INTENSITY=50 !PORTAL_STATIC_PARTICLES STATIC_TEAR_CHANCE=-1 TINT_GREEN=200

Expand All @@ -17,12 +18,12 @@ screen.Static.columns = 1
screen.Tint.columns = 1
screen.LightingColor.columns = 3

screen.Other = BLUR_SIZE BLOOM_SIZE DARK_EDGES DISTRORTION_FACTOR GRAIN_INTENSITY DITTER_FOG FOG_MULT DISCARD_SKY [AIWS]
screen.Other = BLUR_SIZE BLOOM_SIZE DARK_EDGES DISTRORTION_FACTOR GRAIN_INTENSITY DITTER_FOG FOG_MULT DISCARD_SKY COLOR_RESOLUTION VERT_ROUNDING_SIZE [AIWS]
screen.PixelSize = RENDER_PIXEL_SIZE FX_PIXEL_SIZE SCANLINE_PIXEL_SIZE
screen.Scanlines = SCANLINE_INTENSITY SCANLINE_PIXEL_SIZE
screen.ScreenTear = SCREEN_TEAR_SIZE SCREEN_TEAR_DELAY SCREEN_TEAR_SPEED SCREEN_TEAR_SOLID
screen.Static = STATIC STATIC_TEAR_CHANCE PORTAL_STATIC PORTAL_STATIC_PARTICLES
screen.Tint = TINT_RED TINT_GREEN TINT_BLUE <empty> BNW BNW_PRE_TINT <empty> [LightingColor]
screen.Tint = TINT_RED TINT_GREEN TINT_BLUE <empty> SATURATION BNW BNW_PRE_TINT <empty> [LightingColor]
screen.AIWS = AIWS AIWS_TYPE AIWS_SOURCE AIWS_SPEED AIWS_INTENSITY
screen.Lighting = VANILLA_LIGHT LIGHTNING_STRENGTH DARKNESS_INTENSITY LIGHTMAP_DITERING MOONLIGHT_STRENGHT HAND_DYNAMIC_LIGHTING [LightingColor]
screen.LightingColor = COLOR_LIGHT_SKY_R COLOR_LIGHT_SKY_G COLOR_LIGHT_SKY_B COLOR_LIGHT_SUNRISE_R COLOR_LIGHT_SUNRISE_G COLOR_LIGHT_SUNRISE_B COLOR_LIGHT_BLOCK_R COLOR_LIGHT_BLOCK_G COLOR_LIGHT_BLOCK_B COLOR_LIGHT_HAND_R COLOR_LIGHT_HAND_G COLOR_LIGHT_HAND_B