View Issue Details

IDProjectCategoryView StatusLast Update
0000598Cinelerra-GG[All Projects] Bugpublic2021-12-23 21:55
ReporterAndrea_Paz Assigned ToPhyllisSmith  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0000598: Mask Tool and X11-OpenGL
DescriptionI tried to use mask tool and it works only if I use X11 video driver. With X11-OpenGL it doesn't work, unless I use the "Disable OpenGL Masking" option. I don't remember if this problem was already addressed; Does mask tool work with OpenGL?
TagsOpenGL

Activities

PhyllisSmith

PhyllisSmith

2021-12-23 21:55

manager   ~0005205

Andrea has agreed that this can be closed.
Andrea_Paz

Andrea_Paz

2021-12-23 21:24

manager   ~0005204

Yes, you can to closo this issue.
PhyllisSmith

PhyllisSmith

2021-12-23 17:03

manager   ~0005203

@Andrea_Paz
In testing this now, I found no problems using OpenGL. So I am assuming it is your Arch system? If so and you get it working, we can close this.
Andrea_Paz

Andrea_Paz

2021-12-22 20:01

manager   ~0005202

I put Ubuntu 18 LTS in VM: I tried the appimage (for old distros) from 20201031 and the latest from 20211130. The mask tool works without problems even with OpenGL.
I'd say it's the fault of my Arch linux....
Andrea_Paz

Andrea_Paz

2021-12-22 08:43

manager   ~0005201

@Andrew-R
When I first discovered CinGG (about 2016) I had problems with Mask and OpenGL (it worked, but with bad mask line segmentations); then when GG improved the tool, the problem was gone and everything was OK. I haven't used the mask for a long time. I tried some old appimages but they don't work; the newest one works but gives me this problem with the mask. I attach glxinfo. I would like to know if others have this problem or just me?
Andrew-R

Andrew-R

2021-12-22 00:54

reporter   ~0005200

Well, this code was developed somehow..

only easy reference to those errors at top (about texture2D) I found via fast searching were those about deprecation..

https://stackoverflow.com/questions/12307278/texture-vs-texture2d-in-glsl
@Andrea_Paz,
was it working before on your machine?

can you attach glxinfo?

may be someone can replace those calls and see if it fixes your error (no opengl here so I can't test)
Andrea_Paz

Andrea_Paz

2021-12-21 10:15

manager   ~0005199

I add log on terminal.

mask_opengl.txt (113,261 bytes)
Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
const int MAX = 1000+1;
uniform float psf[MAX];
uniform int n;
uniform vec2 dxy;
uniform vec2 twh;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture(tex, tc);
        float c = color.r, f = c*psf[0];
        for( int i=1; i<n; ++i ) {
                vec2 dd = float(i)*dxy;
                vec2 a = tc+dd, ac = min(max(vec2(0.),a), twh);
                vec2 b = tc-dd, bc = min(max(vec2(0.),b), twh);
                float fa = texture2D(tex, ac).r * psf[i];
                float fb = texture2D(tex, bc).r * psf[i];
                float m = max(fa, fb);
                if( f < m ) f = m;
        }
        if( c < f ) color = vec4(f);
}

void main() {
        main000();
}

0:18(13): error: no function with name 'texture2D'
0:18(13): error: type mismatch
0:18(13): error: operands to arithmetic operators must be numeric
0:19(13): error: no function with name 'texture2D'
0:19(13): error: type mismatch
0:19(13): error: operands to arithmetic operators must be numeric
0:20(16): warning: `fa' used uninitialized
0:20(20): warning: `fb' used uninitialized

Playback3D::print_error:
#version 430
layout(location=0) out vec4 color;
uniform sampler2D tex;
uniform sampler2D tex1;
uniform float r;
uniform float v;

void main000() {
        vec2 tc = gl_FragCoord.xy/textureSize(tex,0);
        color = texture2D(tex1, tc);
        float c = texture2D(tex, tc).r;
        float b = r<0 ? 1. : 0.;
        if( c == b ) return;
        float iv = v>=0. ? 1. : -1.;
        float rr = r!=0. ? r : 1.;
        float rv = rr*v>=0. ? 1. : -1.;
        float vv = v>=0. ? 1.-v : 1.+v;
        float fg = rv>0. ? vv : 1.;
        float bg = rv>0. ? 1. : vv;
        float a = c*fg + (1.-c)*bg;
        if( iv*(color.a-a) > 0. ) color = vec4(a);
}

void main() {
        main000();
}

0:10(10): error: no function with name 'texture2D'
0:11(12): error: no function with name 'texture2D'
0:11(12): error: type mismatch
0:13(6): warning: `c' used uninitialized
0:20(12): warning: `c' used uninitialized
0:20(23): warning: `c' used uninitialized





mask_opengl.txt (113,261 bytes)

Issue History

Date Modified Username Field Change
2021-12-21 10:07 Andrea_Paz New Issue
2021-12-21 10:07 Andrea_Paz Tag Attached: OpenGL
2021-12-21 10:15 Andrea_Paz File Added: mask_opengl.txt
2021-12-21 10:15 Andrea_Paz Note Added: 0005199
2021-12-22 00:54 Andrew-R Note Added: 0005200
2021-12-22 08:43 Andrea_Paz Note Added: 0005201
2021-12-22 20:01 Andrea_Paz Note Added: 0005202
2021-12-23 17:03 PhyllisSmith Assigned To => PhyllisSmith
2021-12-23 17:03 PhyllisSmith Status new => acknowledged
2021-12-23 17:03 PhyllisSmith Note Added: 0005203
2021-12-23 21:24 Andrea_Paz Note Added: 0005204
2021-12-23 21:55 PhyllisSmith Status acknowledged => closed
2021-12-23 21:55 PhyllisSmith Resolution open => fixed
2021-12-23 21:55 PhyllisSmith Note Added: 0005205