git-svn-id: svn://db.shs.com.ru/libs@51 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D t0;
|
||||
uniform float factor = 1.;
|
||||
uniform float factor = 1., threshold = 0.8;
|
||||
|
||||
void main(void) {
|
||||
qgl_FragData[0].rgb = max(texelFetch(t0, ivec2(gl_FragCoord.xy), 0).rgb - vec3(0.8), vec3(0.)) * factor;
|
||||
qgl_FragData[0].rgb = max(texelFetch(t0, ivec2(gl_FragCoord.xy), 0).rgb - vec3(threshold), vec3(0.)) * factor;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,34 @@
|
||||
|
||||
uniform sampler2D t0;
|
||||
uniform int radius = 2;
|
||||
uniform vec2 dt;
|
||||
|
||||
void main(void) {
|
||||
ivec2 tc = ivec2(gl_FragCoord.xy);
|
||||
vec2 tc = qgl_FragTexture.xy;
|
||||
float r = float(radius);
|
||||
int o = radius, o2 = radius * 2;
|
||||
vec3 scol = (texelFetch(t0, tc, 0).rgb * 3. +
|
||||
vec3 scol = (texture(t0, tc).rgb * 3. +
|
||||
texture(t0, tc + dt * vec2( o, 0 )).rgb * 2. +
|
||||
texture(t0, tc + dt * vec2( 0, o )).rgb * 2. +
|
||||
texture(t0, tc + dt * vec2( -o, 0 )).rgb * 2. +
|
||||
texture(t0, tc + dt * vec2( 0, -o)).rgb * 2. +
|
||||
texture(t0, tc + dt * vec2( o, o )).rgb * 1.5 +
|
||||
texture(t0, tc + dt * vec2( o, -o)).rgb * 1.5 +
|
||||
texture(t0, tc + dt * vec2( -o, -o )).rgb * 1.5 +
|
||||
texture(t0, tc + dt * vec2( -o, o )).rgb * 1.5 +
|
||||
texture(t0, tc + dt * vec2( o2, 0 )).rgb +
|
||||
texture(t0, tc + dt * vec2( 0, o2)).rgb +
|
||||
texture(t0, tc + dt * vec2(-o2, 0 )).rgb +
|
||||
texture(t0, tc + dt * vec2( 0, -o2)).rgb +
|
||||
texture(t0, tc + dt * vec2( o2, o )).rgb +
|
||||
texture(t0, tc + dt * vec2( o2, -o)).rgb +
|
||||
texture(t0, tc + dt * vec2(-o2, -o )).rgb +
|
||||
texture(t0, tc + dt * vec2(-o2, o )).rgb +
|
||||
texture(t0, tc + dt * vec2( o, o2)).rgb +
|
||||
texture(t0, tc + dt * vec2( o, -o2)).rgb +
|
||||
texture(t0, tc + dt * vec2( -o, -o2)).rgb +
|
||||
texture(t0, tc + dt * vec2( -o, o2)).rgb) / 29.;
|
||||
/*vec3 scol = (texelFetch(t0, tc, 0).rgb * 3. +
|
||||
texelFetch(t0, tc + ivec2( o, 0 ), 0).rgb * 2. +
|
||||
texelFetch(t0, tc + ivec2( 0, o ), 0).rgb * 2. +
|
||||
texelFetch(t0, tc + ivec2( -o, 0 ), 0).rgb * 2. +
|
||||
@@ -27,7 +49,7 @@ void main(void) {
|
||||
texelFetch(t0, tc + ivec2( o, o2), 0).rgb +
|
||||
texelFetch(t0, tc + ivec2( o, -o2), 0).rgb +
|
||||
texelFetch(t0, tc + ivec2( -o, -o2), 0).rgb +
|
||||
texelFetch(t0, tc + ivec2( -o, o2), 0).rgb) / 29.;
|
||||
texelFetch(t0, tc + ivec2( -o, o2), 0).rgb) / 29.;*/
|
||||
qgl_FragData[0].rgb = scol;
|
||||
//qgl_FragData[0].rgb = vec3(r/10.);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ void main(void) {
|
||||
qgl_FragData[1] = vec4(n.xyz / 2. + vec3(0.5), specularity);
|
||||
qgl_FragData[2] = vec4(spec.rgb, hei);
|
||||
qgl_FragData[3] = vec4(self.rgb, pos.w);
|
||||
qgl_FragData[4] = vec4(speed,0);
|
||||
qgl_FragData[4] = vec4(speed.xy, 0, 0);
|
||||
|
||||
//gl_FragData[0] = vec4(et.xyz, pos.w);
|
||||
//gl_FragDepth = gl_FragCoord.z - clamp(hei / pos.z / pos.z / (abs(n.z) + 1), -0.01, 0.01);
|
||||
|
||||
@@ -72,11 +72,11 @@ void main(void) {
|
||||
//li = vec3(0.);
|
||||
si = vec3(0.);
|
||||
|
||||
float posz = z_near * z_far / (texture2D(td, tc).r * (z_far - z_near) - z_far);
|
||||
float posz = z_near * z_far / (texelFetch(td, tc, 0).r * (z_far - z_near) - z_far);
|
||||
pos = vec4(sp, 0., 1) * mat_proji;
|
||||
pos.xy *= v3.w;
|
||||
pos.z = posz;
|
||||
pos.xyz += n * height;
|
||||
//pos.xyz += n * height;
|
||||
//pos.xyz = v3.xyz;
|
||||
//pos = v3;
|
||||
//pos = vec4(sp, 0, 1.) * mat_proji;
|
||||
@@ -88,12 +88,12 @@ void main(void) {
|
||||
|
||||
sh_pow = 1. / max((1. - v1.w), 0.0001);
|
||||
sh_mul = max(1. - v1.w, 0.0001);
|
||||
for (int i = 0; i < 16; ++i)
|
||||
for (int i = 0; i < 1; ++i)
|
||||
calcLight(i, n, v, v2);
|
||||
|
||||
qgl_FragData[0].rgb = li * dc + si * v2.rgb + v3.rgb + texture(t_pp, tc).rgb;
|
||||
//qgl_FragData[0].rgb = vec3(abs(lpos.xyz - pos.xyz)/10);
|
||||
//qgl_FragData[0].rgb = si.rgb;
|
||||
//qgl_FragData[0].rgb = vec3(ldist/1000);
|
||||
//qgl_FragData[0].rgb = vec3(length(v4.xyz)/10);
|
||||
//qgl_FragData[0].a = 0.;
|
||||
}
|
||||
|
||||
@@ -16,12 +16,14 @@ vec3 Uncharted2Tonemap(vec3 x) {
|
||||
}
|
||||
|
||||
void main(void) {
|
||||
qgl_FragData[0].rgb = texelFetch(t0, ivec2(gl_FragCoord.xy), 0).rgb;
|
||||
return;
|
||||
vec3 inColor = texelFetch(t0, ivec2(gl_FragCoord.xy), 0).rgb;
|
||||
inColor *= exposure;
|
||||
float ExposureBias = 1;
|
||||
vec3 curr = Uncharted2Tonemap(ExposureBias*inColor);
|
||||
vec3 whiteScale = 1 / Uncharted2Tonemap(vec3(tW));
|
||||
vec3 color = curr * whiteScale;
|
||||
vec3 retColor = pow(color, vec3(1 / 2.2));
|
||||
vec3 retColor = pow(color, vec3(1 / 1.2));
|
||||
qgl_FragData[0].rgb = retColor;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user