mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2025-01-04 00:23:41 +08:00
25a2284a60
FIXED AND IMPROVED translucent rendering. FIXED random stuff from rendering over the hand. FIXED hand shading. FIXED blue horses. FIXED translucent lighting on the hand. FIXED translucent lighting on entities. IMPROVED colored shadows. IMPROVED SSAO application to the scene. IMPROVED subsurface scattering and give it more settings. IMPROVED bloom. ADD AgX tonemap and make it default.
75 lines
2.0 KiB
GLSL
75 lines
2.0 KiB
GLSL
#include "/lib/settings.glsl"
|
|
#include "/lib/util.glsl"
|
|
#include "/lib/res_params.glsl"
|
|
|
|
flat varying vec4 lightCol;
|
|
flat varying vec3 averageSkyCol;
|
|
flat varying vec3 averageSkyCol_Clouds;
|
|
|
|
flat varying vec3 WsunVec;
|
|
flat varying vec3 refractedSunVec;
|
|
|
|
flat varying float tempOffsets;
|
|
|
|
uniform sampler2D colortex4;
|
|
flat varying float exposure;
|
|
|
|
uniform float sunElevation;
|
|
uniform vec2 texelSize;
|
|
uniform vec3 sunPosition;
|
|
uniform mat4 gbufferModelViewInverse;
|
|
uniform int frameCounter;
|
|
|
|
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
|
|
uniform float frameTimeCounter;
|
|
#include "/lib/Shadow_Params.glsl"
|
|
#include "/lib/sky_gradient.glsl"
|
|
|
|
void main() {
|
|
gl_Position = ftransform();
|
|
|
|
// gl_Position.xy = (gl_Position.xy*0.5+0.5)*0.51*2.0-1.0;
|
|
gl_Position.xy = (gl_Position.xy*0.5+0.5)*(0.01+VL_RENDER_RESOLUTION)*2.0-1.0;
|
|
|
|
#ifdef TAA
|
|
tempOffsets = HaltonSeq2(frameCounter%10000);
|
|
#else
|
|
tempOffsets = 0.0;
|
|
#endif
|
|
|
|
#ifdef OVERWORLD_SHADER
|
|
lightCol.rgb = texelFetch2D(colortex4,ivec2(6,37),0).rgb;
|
|
averageSkyCol = texelFetch2D(colortex4,ivec2(1,37),0).rgb;
|
|
averageSkyCol_Clouds = texelFetch2D(colortex4,ivec2(0,37),0).rgb;
|
|
#endif
|
|
|
|
#ifdef NETHER_SHADER
|
|
lightCol.rgb = vec3(0.0);
|
|
averageSkyCol = vec3(0.0);
|
|
averageSkyCol_Clouds = vec3(2.0, 1.0, 0.5) * 5.0;
|
|
#endif
|
|
|
|
#ifdef END_SHADER
|
|
lightCol.rgb = vec3(0.0);
|
|
averageSkyCol = vec3(0.0);
|
|
averageSkyCol_Clouds = vec3(15);
|
|
#endif
|
|
|
|
|
|
lightCol.a = float(sunElevation > 1e-5)*2.0 - 1.0;
|
|
WsunVec = lightCol.a * normalize(mat3(gbufferModelViewInverse) * sunPosition);
|
|
// WsunVec = normalize(LightDir);
|
|
|
|
refractedSunVec = refract(WsunVec, -vec3(0.0,1.0,0.0), 1.0/1.33333);
|
|
|
|
exposure = texelFetch2D(colortex4,ivec2(10,37),0).r;
|
|
}
|