Mercurial > mplayer.hg
changeset 23014:e7d38f99a8b3
Add perspective projection.
author | eugeni |
---|---|
date | Fri, 20 Apr 2007 22:56:42 +0000 |
parents | 7eb66492a37d |
children | de389ca83df7 |
files | libass/ass_render.c |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libass/ass_render.c Fri Apr 20 22:55:28 2007 +0000 +++ b/libass/ass_render.c Fri Apr 20 22:56:42 2007 +0000 @@ -1589,6 +1589,18 @@ a[2] = 0.; a[3] = 1.; transform_point_3d(a, m, b); + /* Apply perspective projection with the following matrix: + 2500 0 0 0 + 0 2500 0 0 + 0 0 0 0 + 0 0 8 2500 + where 2500 is camera distance, 8 - z-axis scale. + Camera is always located in (org_x, org_y, -2500). This means + that different subtitle events can be displayed at the same time + using different cameras. */ + b[0] *= 2500; + b[1] *= 2500; + b[3] = 8 * b[2] + 2500; if (b[3] < 0.001 && b[3] > -0.001) b[3] = b[3] < 0. ? -0.001 : 0.001; v->x = double_to_d6(b[0] / b[3]);