[OpenJDK Rasterizer] RFR: Marlin renderer #2
Laurent Bourgès
bourges.laurent at gmail.com
Fri May 22 21:31:39 UTC 2015
Phil,
Do you have news from SQE team about the marlin patch ?
PS: I am working hard to implement properly few reconstruction filters (max
support 1.5 yet like tent, bell, gaussian 1/2...) and I expect it will
improve rendering quality with only a small performance penalty ! Of course
it should be used with a proper gamma correction...
Regards,
Laurent
Le 14 mai 2015 00:36, "Jim Graham" <james.graham at oracle.com> a écrit :
> Hi Laurent,
>
> Not this week unfortunately, I'm under a deadline for my own work.
>
> Phil was the one tracking the SQE effort...
>
> ...jim
>
> On 5/13/2015 9:59 AM, Laurent Bourgès wrote:
>
>> Jim,
>>
>> Do you have time soon to review the second marlin patch ?
>>
>> Any other remaining comment on the first one ?
>>
>> Did you have news from the SQE team?
>>
>> FYI I will try using the DDA approach in the Renderer...
>> Improving Stroker seems to me too much tricky and risky for the moment
>> (to avoid intermediate segments for joins & caps)
>>
>> Laurent
>>
>> Le 29 avr. 2015 22:27, "Laurent Bourgès" <bourges.laurent at gmail.com
>> <mailto:bourges.laurent at gmail.com>> a écrit :
>>
>> Jim,
>>
>> Here is a new webrev for the second step on the marlin renderer:
>> http://cr.openjdk.java.net/~lbourges/marlin/marlin-s2.0/
>>
>> Changes:
>> - ArrayCache: cleanup in the growth algorithm + fixed TODO
>> - Float/Int ArrayCache: added putDirtyArray() methods
>> - RendererContext: added dirtyInt/Float array cache and related
>> methods
>> - RendererStats: added statistics on cached array sizes
>> - CollinearSimplifier: optimized condition evaluation order
>> - FloatMath: removed once condition using bit masking to add +/- 1
>>
>> - Curve: fixed numeric constants + BreakPtrIterator deals with
>> primitive integer (no more Interator<Integer>)
>> - Dasher: fixed numeric constants + firstSegmentsBuffer uses the
>> dirty float cache
>> - Helpers: fixed numeric constants + removed widenArray methods (use
>> directly RendererContext instead)
>> - MarlinCache: added stats for rowAAChunk + fixed doc
>> - MarlinRenderingEngine: fixed numeric constants + newDashes uses
>> the dirty float cache + RendererContext uses now Weak reference by
>> default (instead of Soft)
>> - Renderer:
>> - keep used range for edgeBuckets / edgeBucketCounts in
>> endRendering() used then in dispose() to avoid FloatMath.ceil() calls
>> - crossings / aux_crossings & edgePtrs / aux_edgePtrs use dirty
>> int array caches
>> - Stroker: fixed numeric constants + use explicit emitLineToRev() /
>> emitQuadToRev() / emitCurveToRev() as short cuts + use local
>> variables for readability and minor performance gain
>> - Stroker.PolyStack: curveTypes / curves use the dirty byte / float
>> array caches + optimized popAll() loop
>>
>> Cheers,
>> Laurent
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/graphics-rasterizer-dev/attachments/20150522/93f090b3/attachment.html>
More information about the graphics-rasterizer-dev
mailing list