[poppler] Patch proposal: Implementation for real gouraud shaded triangles
Albert Astals Cid
aacid at kde.org
Tue Oct 5 13:59:06 PDT 2010
A Dijous, 30 de setembre de 2010, Christian Feuersaenger va escriure:
> Hello Albert,
>
> Am 30.09.2010 00:00, schrieb Albert Astals Cid:
> > A Dijous, 19 d'agost de 2010, vàreu escriure:
> >> Dear Albert,
> >>
> >> attached you find a test.pdf in which the improvements can be seen.
> >>
> >> The rendering quality of my patch is much better; it eliminates the
> >> moire effects of the flat shading approximation (top left image).
> >>
> >> Compare also the image with opacity on page 2 of test.pdf.
> >>
> >> Besides the improved rendering quality, the most obvious change is the
> >> required runtime: on my system, the default xpdf requires 15 seconds
> >> until it stops rendering the first page whereas xpdf with poppler
> >> support and my new patch requires about one second. The pdftoppm utility
> >> is also considerably faster.
> >>
> >> Let me stress that the patch is unrelated to my previous bugfixes, so
> >> rendering problems are only fixed together with the other bugfix.
> >
> > I'm not sure i understand this last sentence, you say that the patches
> > are
> > unrelated but then you say the bugs are only fixed together with the
> > other
> > patch?
> >
> > Should i run a regression test over this patch or does it need to be in
> > conjunction with the other patch?
>
> The "Implementation for real gouraud shaded triangles" is more a new
> feature than simply a bugfix: it re-implements the shaders for the
> splash device. Its purpose is mainly a vastly improved rendering speed.
> I'd suggest to run regression tests on this implementation separately
> from my other patch proposals.
>
> The other patch proposals (you have processed them already; I still
> have to investigate your problem report) are bug fixes which should be
> tested separately.
>
> My last remark is to be understood as follows:
> 1. if you view test.pdf with both patches, you have best quality and
> highest speed.
> 2. if you view test.pdf only with the given patch, you have high speed
> and good quality for the triangle patches, but the coons patch things
> will be buggy.
> 3. if you only process the other patch proposal (the bugfixes which are
> not part of mail), the coons patches are rendered correctly; but the
> triangle patches are slow and only approximately correct due to the
> piecewise flat triangle approximation as it is currently done in
> libpoppler.
>
> I think the most reliable quality verification can be gained by testing
> both patches separately.
Ok, i've ran the test regression over this aptch and everything seems to be
ok, could you please fix the FIXME and TODO you have in the code?
Thanks,
Albert
>
> Best regards
>
> Christian
>
> PS
> Sorry if you get notifications because of 'Post by non-member to a
> members-only list'... I keep clicking onto the wrong email address :(
> (have now registered both of them)
>
> > Albert
> >
> >> Best regards
> >>
> >> Christian
> >>
> >> Am 18.08.2010 23:15, schrieb Albert Astals Cid:
> >>> A Dijous, 15 de juliol de 2010, Christian Feuersaenger va escriure:
> >>>> 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.
> >>>
> >>> Do you have a pdf where we can see the improvement this patch gives?
> >>>
> >>> Albert
> >>>
> >>>> Thanks,
> >>>>
> >>>> Christian
> >>>
> >>> _______________________________________________
> >>> poppler mailing list
> >>> poppler at lists.freedesktop.org
> >>> http://lists.freedesktop.org/mailman/listinfo/poppler
> >
> > _______________________________________________
> > poppler mailing list
> > poppler at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/poppler
>
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler
More information about the poppler
mailing list