vec3 tmpv;
vec2 addr_p = fix_coord + vec2(pos_offset, 0);
vec2 addr_n = fix_coord - vec2(pos_offset, 0);
- for (i = ibegin ; i < TAPS; i++) {
+
+ for(int ii = 1; ii < TAPS; ii++) {
pix_p = texture2D(a_texture, addr_p).xyz;
pix_n = texture2D(a_texture, addr_n).xyz;
- pix_p = (pix_n + pix_p) * vec3(luma_filter[i], chroma_filter[i], chroma_filter[i]);
+ pix_p = (pix_n + pix_p) * vec3(luma_filter[ii], chroma_filter[ii], chroma_filter[ii]);
signal = signal + pix_p;
addr_p = addr_p - delta;
addr_n = addr_n + delta;
//vec3 rgb = yiq2rgb(signal);
#ifdef GAMMA_CORRECTION
vec3 gamma = vec3(CRT_GAMMA / DISPLAY_GAMMA);
- rgb = pow(rgb, gamma.rgb);
+ rgb = pow(abs(rgb), gamma.rgb);
#endif
vec4 pixel = vec4(rgb, 1.0);
pixel = pixel * vec4(0.8, 1.8, 1.4, 1.0);
main_pass->getVertexBuffer(),
vertexFormat, 4);
}
-
+#if 0
initPackedGLObject(&std_pass,
using_flags->get_screen_width(), using_flags->get_screen_height(),
":/gles2/vertex_shader.glsl" , ":/gles2/chromakey_fragment_shader.glsl",
"Standard Shader");
+#endif
initPackedGLObject(&led_pass,
10, 10,
":/gles2/led_vertex_shader.glsl" , ":/gles2/led_fragment_shader.glsl",
} else
#endif
{
-#if 1
+#if 0
renderToTmpFrameBuffer_nPass(uVramTextureID->textureId(),
screen_texture_width,
screen_texture_height,
p_wid->makeCurrent();
{
+#if 0
set_texture_vertex((float)w / iw, (float)h / ih);
setNormalVAO(std_pass->getShader(), std_pass->getVAO(),
std_pass->getVertexBuffer(),
vertexTmpTexture, 4);
+#endif
//set_texture_vertex(p, p_wid->width(), p_wid->height(), w, h);
-
-#if 1
set_texture_vertex((float)w / iw, (float)h / ih);
setNormalVAO(ntsc_pass1->getShader(), ntsc_pass1->getVAO(),
ntsc_pass1->getVertexBuffer(),
setNormalVAO(ntsc_pass2->getShader(), ntsc_pass2->getVAO(),
ntsc_pass2->getVertexBuffer(),
vertexTmpTexture, 4);
-#endif
}
if(p != NULL) {