attribute vec3 position;
                                attribute vec2 texcoord;
                                uniform mat4 modelViewProjectionMatrix;
                                varying vec2 fragTexCoord;
                                void main()
                                {
                                vec2 pos = sign(position.xy);
                                fragTexCoord = texcoord;
                                gl_Position = vec4((pos.x - 1.0) / 2.0, pos.y, 0.0, 1.0);
                                //gl_Position = vec4(pos.xy / 4.0 + vec2(-0.75,0.75), 0.0, 1.0);
                                }
                            
                            
                                #ifdef GL_ES
                                precision highp float;
                                #endif
                                uniform sampler2D tex;
                                uniform float leftEye;
                                varying vec2 fragTexCoord;
                                void main()
                                {
                                float distortionScale = 0.7; //0.685;
                                //float distortionK[4] = float[](1.0, 0.22, 0.24, 0.0);
                                vec2 lensCenter = vec2(0.151976495726, 0.0);
                                if (leftEye == 0.0) {
                                lensCenter.x *= -1.0;
                                }
                                vec2 theta = (fragTexCoord * 2.0) - 1.0;
                                float rSq = theta.x * theta.x + theta.y * theta.y;
                                vec2 rvec = theta * (1.0 + 0.22 * rSq + 0.24 * rSq * rSq); //+ 0.0 * rSq * rSq * rSq);
                                vec2 texCoord = (distortionScale*rvec+(1.0-distortionScale)*lensCenter + 1.0) / 2.0;
                                if (any(notEqual(clamp(texCoord, vec2(0.0, 0.0), vec2(1.0, 1.0)) - texCoord,
                                vec2(0.0, 0.0)))) {
                                //if (leftEye == 0.0) gl_FragColor = vec4(1.0,1.0,0.0,1.0);
                                //else gl_FragColor = vec4(1.0,0.0,0.0,1.0);
                                discard;
                                }
                                else {
                                vec3 col = texture2D(tex, texCoord).rgb;
                                gl_FragColor = vec4(col, 1.0);
                                }
                                //gl_FragColor = texture2D(tex, fragTexCoord);
                                }
                            
                        
                    
                    
                
            
            
                
                    
                        
                            
                            
                            
                        
                        
                            
                            
                            
                                attribute vec3 position;
                                attribute vec2 texcoord;
                                uniform mat4 modelViewProjectionMatrix;
                                varying vec2 fragTexCoord;
                                void main()
                                {
                                vec2 pos = sign(position.xy);
                                fragTexCoord = texcoord;
                                gl_Position = vec4((pos.x + 1.0) / 2.0, pos.y, 0.0, 1.0);
                                }