[poppler] Patch proposal: Implementation for real gouraud shaded triangles

Christian Feuersaenger ludewich at users.sourceforge.net
Thu Jul 15 12:24:49 PDT 2010

Dear poppler developers,

hereby I propose a new patch for a high quality, fast gouraud shader for 
triangle shadings.

The patch provides
- scalable triangle shadings (in contrast to the old approach),
- correct shading, no approximation using flat triangles,
- greatly (!) improved rendering speed,
- support for opacity (in contrast to the previous approach).

This patch is relative to the master branch,
git show poppler-0.14.0-91-g31ac578 .

It is unrelated to my previous patch proposals concerning shadings; the 
other patch proposal (my mail several weeks ago) is still important and 
relevant. The patch in this mail is independent and does not include my 
previous patch proposals.

I tested the new patch with pdftoppm and with the xpdf-poppler fork of 
Rogerio Brito; it appears to work reliable. I tested
- matrix shadings and triangle patch shadings (Types 4 and 5),
- degenerated triangles,
- clipping,
- opacity,
- RGB color spaces.

The implementation now supports these shadings on a display driver level 
and is implemented directly in the splash device (using scanline sweeps).

I've been defensive: I have no test cases for other color spaces and I 
have no test data for non-parametric shadings. Consequently, I disabled 
the shader for these cases; it will fall back to the existing solutions 
(approximate shading by means of many flat triangles).

I hope you find my patch proposal useful. I believe it is worthy of 
being part of libpoppler.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: poppler_realgouraudshadingtype.patch
Type: text/x-patch
Size: 22889 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/poppler/attachments/20100715/c29164c1/attachment.bin>

More information about the poppler mailing list