==================================================================
QeffectsGL initialized at Sun Aug 19 20:46:56 2012
==================================================================

Settings: D:\DIMON\Xash3D\QeffectsGL.ini
Module: hl.exe
Loading "C:\Windows\system32\opengl32.dll": success
Loading functions: success
Using extension: GL_ARB_multitexture (8 TMU)
Using extension: GL_ARB_texture_rectangle
Using extension: GL_ARB_depth_texture
Using extension: GL_EXT_texture_edge_clamp
Using extension: GL_EXT_texture_filter_anisotropic (max 16)
Using extension: GL_ARB_shader_objects
Using extension: GL_ARB_shading_language_100
Using extension: GL_ARB_vertex_shader
Using extension: GL_ARB_fragment_shader
InitializeGL
Checking hardware caps:
Bloom effect: YES
SSAO effect: YES
Color correction: YES
ERROR: Failed to compile fragment shader:

#extension GL_ARB_texture_rectangle : enable
uniform vec4 Local0;
uniform sampler2DRect Texture0;
void main(void)
{
vec3 col = texture2DRect(Texture0, gl_TexCoord[0].xy).rgb;
gl_FragColor.rgb = pow( col, Local0.x );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader failed to compile with the following errors:
ERROR: 0:7: 'pow' : no matching overloaded function found
ERROR: 0:7: 'assign' : cannot convert from 'const float' to '3-component vector of float'
ERROR: compilation errors. No code generated.

ERROR: Failed to link shaders!

Vertex:
uniform vec4 Local0;
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0.xyxy * vec4( 1.0, 1.0, 1.0 / Local0.z, 1.0 / Local0.w );
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}


Fragment:
#extension GL_ARB_texture_rectangle : enable
uniform vec4 Local0;
uniform vec4 Local1;
uniform sampler2DRect Texture0;
uniform sampler2D Texture1;
float read_depth( vec2 coord )
{
return (2.0 * Local0.x) / (Local0.y + Local0.x - texture2DRect( Texture0, coord ).r * (Local0.y - Local0.x));
}
vec2 rand( vec2 coord )
{
float coordDot = dot( coord, vec2( 12.9898, 78.233 ) );
float noiseX = fract( sin( coordDot ) * 43758.5453 );
float noiseY = fract( sin( coordDot * 2.0 ) * 43758.5453 );
return vec2( noiseX, noiseY ) * 0.004;
}
float compare_depth( float depth1, float depth2 )
{
float aoRange = 60.0;
float depthDiff = depth1 - depth2;
float propagation = depthDiff * (Local0.y - Local0.x);
float rangeDiff = sqrt(clamp( 1.0 - propagation / aoRange, 0.0, 1.0 ));
float ao = Local1.y * depthDiff * (2.0 - depthDiff) * rangeDiff;
return ao;
}
void main(void)
{
float depth = read_depth( gl_TexCoord[0].xy );
float ao;
if ( depth > 0.005 && depth < Local1.x ) {
vec2 noise = rand( gl_TexCoord[0].zw );
float distScale = 1.0 + 5.0 * sqrt( 1.0 - depth );
float w = distScale + (noise.x*(1.0-noise.x)) * Local0.z;
float h = distScale + (noise.y*(1.0-noise.y)) * Local0.w;
vec2 ofs;
float d;
int samples = 3;
int rings = 3;
float TWO_PI = 2.0 * 3.14159265;
for ( int i = 1 ; i <= rings; i++ ) {
float angleStep = TWO_PI / ( samples * float(i) );
for ( int j = 1 ; j <= samples*i; j++ ) {
ofs.x = cos( float(j) * angleStep ) * float(i) * w;
ofs.y = sin( float(j) * angleStep ) * float(i) * h;
d = read_depth( gl_TexCoord[0].xy + ofs );
// ignore occluder with too low depth value (possible viewmodel)
if ( d < 0.005 ) continue;
ao += compare_depth( depth, d );
}
}
ao = 1.0 - ao;
} else {
ao = 1.0;
}
gl_FragColor.rgb = vec3( ao );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HWWARNING: 0:41: implicit cast from int to float

ERROR: Failed to link shaders!

Vertex:
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}


Fragment:
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect Texture0;
uniform vec4 Local0;
vec3 rgb_to_hsl( const vec3 color )
{
vec3 hsl;
float fmin = min(min(color.r, color.g), color.b);
float fmax = max(max(color.r, color.g), color.b);
float delta = fmax - fmin;
hsl.z = (fmax + fmin) / 2.0;
if (delta == 0.0) {
hsl.x = 0.0;
hsl.y = 0.0;
} else {
if (hsl.z < 0.5) hsl.y = delta / (fmax + fmin);
else hsl.y = delta / (2.0 - fmax - fmin);
float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;
float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;
float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;
if (color.r == fmax ) hsl.x = deltaB - deltaG;
else if (color.g == fmax) hsl.x = (1.0 / 3.0) + deltaR - deltaB;
else if (color.b == fmax) hsl.x = (2.0 / 3.0) + deltaG - deltaR;
if (hsl.x < 0.0) hsl.x += 1.0;
else if (hsl.x > 1.0) hsl.x -= 1.0;
}
return hsl;
}
float hue_to_rgb( float f1, float f2, float hue )
{
if (hue < 0.0) hue += 1.0;
else if (hue > 1.0) hue -= 1.0;
float res;
if ((6.0 * hue) < 1.0) res = f1 + (f2 - f1) * 6.0 * hue;
else if ((2.0 * hue) < 1.0) res = f2;
else if ((3.0 * hue) < 2.0) res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0;
else res = f1;
return res;
}
vec3 hsl_to_rgb( vec3 hsl )
{
vec3 rgb;
if (hsl.y == 0.0) rgb = vec3(hsl.z);
else {
float f2;
if (hsl.z < 0.5) f2 = hsl.z * (1.0 + hsl.y);
else f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z);
float f1 = 2.0 * hsl.z - f2;
rgb.r = hue_to_rgb(f1, f2, hsl.x + (1.0/3.0));
rgb.g = hue_to_rgb(f1, f2, hsl.x);
rgb.b= hue_to_rgb(f1, f2, hsl.x - (1.0/3.0));
}
return rgb;
}
void main(void)
{
vec3 col = texture2DRect(Texture0, gl_TexCoord[0].xy).rgb;
vec3 hsl = rgb_to_hsl( col ) + Local0.xyz;
gl_FragColor.rgb = hsl_to_rgb( hsl );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader(s) failed to link, vertex shader(s) linked.

ShutdownGL
Using extension: GL_ARB_multitexture (8 TMU)
Using extension: GL_ARB_texture_rectangle
Using extension: GL_ARB_depth_texture
Using extension: GL_EXT_texture_edge_clamp
Using extension: GL_EXT_texture_filter_anisotropic (max 16)
Using extension: GL_ARB_shader_objects
Using extension: GL_ARB_shading_language_100
Using extension: GL_ARB_vertex_shader
Using extension: GL_ARB_fragment_shader
InitializeGL
Checking hardware caps:
Bloom effect: YES
SSAO effect: YES
Color correction: YES
ERROR: Failed to compile fragment shader:

#extension GL_ARB_texture_rectangle : enable
uniform vec4 Local0;
uniform sampler2DRect Texture0;
void main(void)
{
vec3 col = texture2DRect(Texture0, gl_TexCoord[0].xy).rgb;
gl_FragColor.rgb = pow( col, Local0.x );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader failed to compile with the following errors:
ERROR: 0:7: 'pow' : no matching overloaded function found
ERROR: 0:7: 'assign' : cannot convert from 'const float' to '3-component vector of float'
ERROR: compilation errors. No code generated.

ERROR: Failed to link shaders!

Vertex:
uniform vec4 Local0;
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0.xyxy * vec4( 1.0, 1.0, 1.0 / Local0.z, 1.0 / Local0.w );
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}


Fragment:
#extension GL_ARB_texture_rectangle : enable
uniform vec4 Local0;
uniform vec4 Local1;
uniform sampler2DRect Texture0;
uniform sampler2D Texture1;
float read_depth( vec2 coord )
{
return (2.0 * Local0.x) / (Local0.y + Local0.x - texture2DRect( Texture0, coord ).r * (Local0.y - Local0.x));
}
vec2 rand( vec2 coord )
{
float coordDot = dot( coord, vec2( 12.9898, 78.233 ) );
float noiseX = fract( sin( coordDot ) * 43758.5453 );
float noiseY = fract( sin( coordDot * 2.0 ) * 43758.5453 );
return vec2( noiseX, noiseY ) * 0.004;
}
float compare_depth( float depth1, float depth2 )
{
float aoRange = 60.0;
float depthDiff = depth1 - depth2;
float propagation = depthDiff * (Local0.y - Local0.x);
float rangeDiff = sqrt(clamp( 1.0 - propagation / aoRange, 0.0, 1.0 ));
float ao = Local1.y * depthDiff * (2.0 - depthDiff) * rangeDiff;
return ao;
}
void main(void)
{
float depth = read_depth( gl_TexCoord[0].xy );
float ao;
if ( depth > 0.005 && depth < Local1.x ) {
vec2 noise = rand( gl_TexCoord[0].zw );
float distScale = 1.0 + 5.0 * sqrt( 1.0 - depth );
float w = distScale + (noise.x*(1.0-noise.x)) * Local0.z;
float h = distScale + (noise.y*(1.0-noise.y)) * Local0.w;
vec2 ofs;
float d;
int samples = 3;
int rings = 3;
float TWO_PI = 2.0 * 3.14159265;
for ( int i = 1 ; i <= rings; i++ ) {
float angleStep = TWO_PI / ( samples * float(i) );
for ( int j = 1 ; j <= samples*i; j++ ) {
ofs.x = cos( float(j) * angleStep ) * float(i) * w;
ofs.y = sin( float(j) * angleStep ) * float(i) * h;
d = read_depth( gl_TexCoord[0].xy + ofs );
// ignore occluder with too low depth value (possible viewmodel)
if ( d < 0.005 ) continue;
ao += compare_depth( depth, d );
}
}
ao = 1.0 - ao;
} else {
ao = 1.0;
}
gl_FragColor.rgb = vec3( ao );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HWWARNING: 0:41: implicit cast from int to float

ERROR: Failed to link shaders!

Vertex:
void main(void)
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}


Fragment:
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect Texture0;
uniform vec4 Local0;
vec3 rgb_to_hsl( const vec3 color )
{
vec3 hsl;
float fmin = min(min(color.r, color.g), color.b);
float fmax = max(max(color.r, color.g), color.b);
float delta = fmax - fmin;
hsl.z = (fmax + fmin) / 2.0;
if (delta == 0.0) {
hsl.x = 0.0;
hsl.y = 0.0;
} else {
if (hsl.z < 0.5) hsl.y = delta / (fmax + fmin);
else hsl.y = delta / (2.0 - fmax - fmin);
float deltaR = (((fmax - color.r) / 6.0) + (delta / 2.0)) / delta;
float deltaG = (((fmax - color.g) / 6.0) + (delta / 2.0)) / delta;
float deltaB = (((fmax - color.b) / 6.0) + (delta / 2.0)) / delta;
if (color.r == fmax ) hsl.x = deltaB - deltaG;
else if (color.g == fmax) hsl.x = (1.0 / 3.0) + deltaR - deltaB;
else if (color.b == fmax) hsl.x = (2.0 / 3.0) + deltaG - deltaR;
if (hsl.x < 0.0) hsl.x += 1.0;
else if (hsl.x > 1.0) hsl.x -= 1.0;
}
return hsl;
}
float hue_to_rgb( float f1, float f2, float hue )
{
if (hue < 0.0) hue += 1.0;
else if (hue > 1.0) hue -= 1.0;
float res;
if ((6.0 * hue) < 1.0) res = f1 + (f2 - f1) * 6.0 * hue;
else if ((2.0 * hue) < 1.0) res = f2;
else if ((3.0 * hue) < 2.0) res = f1 + (f2 - f1) * ((2.0 / 3.0) - hue) * 6.0;
else res = f1;
return res;
}
vec3 hsl_to_rgb( vec3 hsl )
{
vec3 rgb;
if (hsl.y == 0.0) rgb = vec3(hsl.z);
else {
float f2;
if (hsl.z < 0.5) f2 = hsl.z * (1.0 + hsl.y);
else f2 = (hsl.z + hsl.y) - (hsl.y * hsl.z);
float f1 = 2.0 * hsl.z - f2;
rgb.r = hue_to_rgb(f1, f2, hsl.x + (1.0/3.0));
rgb.g = hue_to_rgb(f1, f2, hsl.x);
rgb.b= hue_to_rgb(f1, f2, hsl.x - (1.0/3.0));
}
return rgb;
}
void main(void)
{
vec3 col = texture2DRect(Texture0, gl_TexCoord[0].xy).rgb;
vec3 hsl = rgb_to_hsl( col ) + Local0.xyz;
gl_FragColor.rgb = hsl_to_rgb( hsl );
gl_FragColor.a = 1.0;
}

Compile log: Fragment shader(s) failed to link, vertex shader(s) linked.

ShutdownGL

==================================================================
QeffectsGL shutdown at Sun Aug 19 20:47:40 2012
==================================================================