[poppler] Implemented Type 4/5 shading for Splash Device

Christian Feuersaenger ludewich at users.sourceforge.net
Mon Jun 14 10:40:39 PDT 2010

Dear Poppler Developers,

I found that the actual implementation of Type 4 or Type 5 interpoalted 
shadings in xpdf/libpoppler are extremely slow and do not display all 
shadings correctly (parameterized patches with large triangles are often 

I have written a stable patch for both issues: it is now about 5 times 
faster and displays parameterized patches correctly. It is a small 
bugfix combined with a tweaked the triangle refinement.

Furthermore, I have a prototype which implements *real* linear 
interpolation for these shadings. It is very fast and looks considerably 
better than the piecewise constant approximation introduced by triangle 
refinements. It works pretty well up to now. I implemented low level 
support for these shadings and specialized the SplashOutputDev for 
rendering triangle interpolations, i.e. it works for screen display and 
for bitmap output. Quality and display speed match the one of acrobat 

I am sure my additions are valueable and propose them for usage in 
libpoppler: the bugfix/speed improvement is directly usable and stable 
and the lowlevel shader will need some more time. I could also use some 
advice to get the integration with transparency, blending and whatever 
correctly. I started with the xpdf sources, so I would also appreciate 
any hints how you communicate changes between xpdf and libpoppler if you 
are interested in my proposal.

Best regards


More information about the poppler mailing list