view TOOLS/emboss.fp @ 32761:3ceeb62a1125

Improve the readability of dynamic labels which scroll. If the text of a dynamic label to be displayed is wider than the given length, it will be scrolled. Currently such a label starts scrolling immediately after it is placed and - even more unpleasant - the start of the text is randomly somewhere within the specified space of the label. Both makes it hard to track and to read. Now such a dynamic label starts left-aligned and begins scrolling through the specified space only after a short delay (2.5 seconds). Every time the start of the text nears the left margin again during the scrolling process it will stop and everything starts all over again, i.e. scrolling after a short delay.
author ib
date Thu, 03 Feb 2011 14:44:46 +0000
parents cae067bfc231
children
line wrap: on
line source

!!ARBfp1.0
# Custom YUV->RGB conversion program for MPlayer's -vo gl.
# Copyleft (C) Reimar Döffinger, 2005
# Licensed under the GNU GPL v2 or later
# Usage: mplayer -vo gl:yuv=4:customprog=emboss.fp
# This is an emboss effect.
PARAM sizes = program.env[0];
TEMP res, yuv, pos, tmp;
TEX yuv.r, fragment.texcoord[0], texture[0], 2D;
MAD pos, sizes.xyxy, {-0.5, 0, 0, -0.8660}, fragment.texcoord[0].xyxy;
TEX tmp.r, pos.xyxy, texture[0], 2D;
MAD yuv.r, yuv.rrrr, {2}, -tmp.rrrr;
TEX tmp.r, pos.zwzw, texture[0], 2D;
SUB yuv.r, yuv.rrrr, tmp.rrrr;
TEX yuv.g, fragment.texcoord[1], texture[1], 2D;
TEX yuv.b, fragment.texcoord[2], texture[2], 2D;
# now do the normal YUV -> RGB conversion but with 0.5 offset
MAD res, yuv.rrrr, {1.164, 1.164, 1.164, 0}, {-0.37416, 1.03133, -0.58599, 0.125};
MAD res.rgb, yuv.gggg, {0, -0.391, 2.018, 0}, res;
MAD res.rgb, yuv.bbbb, {1.596, -0.813, 0, 0}, res;
# do gamma texture lookup
TEX res.r, res.raaa, texture[3], 2D;
ADD res.a, res.a, 0.25;
TEX res.g, res.gaaa, texture[3], 2D;
ADD res.a, res.a, 0.25;
TEX res.b, res.baaa, texture[3], 2D;
# move res into result, this allows easily commenting out some parts.
MOV result.color, res;
END