add v1.541 (Extreme)
This commit is contained in:
50
shaders/world-1/composite4.fsh
Normal file
50
shaders/world-1/composite4.fsh
Normal file
@@ -0,0 +1,50 @@
|
||||
#version 120
|
||||
/* DRAWBUFFERS:6 */
|
||||
//overwrite buffer 6, final image is buffer 7
|
||||
|
||||
#define Bloom
|
||||
#define bloom_strength 0.75
|
||||
#define composite4
|
||||
#include "/shaders.settings"
|
||||
|
||||
#ifdef Bloom
|
||||
varying vec2 texcoord;
|
||||
varying float eyeAdapt;
|
||||
|
||||
uniform sampler2D colortex6;
|
||||
|
||||
uniform int isEyeInWater;
|
||||
uniform float rainStrength;
|
||||
uniform float viewWidth;
|
||||
uniform float viewHeight;
|
||||
#endif
|
||||
|
||||
void main() {
|
||||
|
||||
#ifdef Bloom
|
||||
const int nSteps = 17;
|
||||
const int center = 8; //=nSteps-1 / 2
|
||||
|
||||
//huge gaussian blur for glare
|
||||
vec3 blur = vec3(0.0);
|
||||
float tw = 0.0;
|
||||
for (int i = 0; i < nSteps; i++) {
|
||||
float dist = abs(i-float(center))/center;
|
||||
float weight = (exp(-(dist*dist)/ 0.28));
|
||||
vec3 bsample = texture2D(colortex6,(texcoord.xy + vec2(1.0/viewWidth,1.0/viewHeight)*vec2(0.0,i-center))).rgb*3.0;
|
||||
|
||||
blur += bsample*weight;
|
||||
tw += weight;
|
||||
}
|
||||
blur /= tw;
|
||||
|
||||
vec3 glow = blur * bloom_strength;
|
||||
vec3 overglow = glow*pow(length(glow)*2.0,2.8)*2.0;
|
||||
|
||||
vec3 finalColor = (overglow+glow*1.15)*(1+isEyeInWater*10.0+(pow(rainStrength,3.0)*7.0/pow(eyeAdapt,1.0)))*1.2;
|
||||
|
||||
gl_FragData[0] = vec4(finalColor, 1.0);
|
||||
#else
|
||||
gl_FragData[0] = vec4(0.0);
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user