Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(460)

Issue 4571072: Add edge AA for concave polys to tesselated path renderer (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years ago by Stephen White
Modified:
13 years ago
Reviewers:
TomH, bsalomon, reed1
Base URL:
http://skia.googlecode.com/svn/trunk/
Visibility:
Public.

Description

The basic algorithm is to run the GLU tesselator once to retrieve the boundary contours, compute the edge equations, and run the tesselator again, passing the inflated and intersected edges to get the interior polygons. We use the edge flags from the second run to know which vertices are on the polygon edge (since some edge vertices become interior vertices when inflated). These are drawn as separate triangles in order to pass the correct edge equations. In order to share code as much as possible with the non-AA and convex paths, I wrapped the tesselator into some helper classes for the boundary tesselator, polygon tesselator, and polygon-with-edges tesselator.

Patch Set 1 #

Patch Set 2 : Remove some unnecessary changes #

Total comments: 12

Patch Set 3 : Fixes from review comments #

Total comments: 8

Patch Set 4 : Fixes for ProgramUnitTest; Responding to Tom's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+567 lines, -119 lines) Patch
gpu/include/GrDrawTarget.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
gpu/src/GrGLProgram.h View 1 2 2 chunks +3 lines, -1 line 0 comments Download
gpu/src/GrGLProgram.cpp View 1 2 3 3 chunks +38 lines, -14 lines 0 comments Download
gpu/src/GrGpuGLShaders.cpp View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
gpu/src/GrPathUtils.cpp View 1 chunk +1 line, -1 line 0 comments Download
gpu/src/GrTesselatedPathRenderer.cpp View 1 2 3 7 chunks +372 lines, -103 lines 0 comments Download
gyp/SampleApp.gyp View 1 chunk +1 line, -0 lines 0 comments Download
samplecode/SampleConcavePaths.cpp View 1 chunk +146 lines, -0 lines 0 comments Download

Messages

Total messages: 17
Stephen White
13 years ago (2011-06-14 19:17:36 UTC) #1
Stephen White
Remove some unnecessary changes
13 years ago (2011-06-14 19:21:00 UTC) #2
reed1
http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h File gpu/include/GrDrawTarget.h (right): http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h#newcode439 gpu/include/GrDrawTarget.h:439: bool isConcaveState() const { Perhaps we name this EdgeAAConcaveState, ...
13 years ago (2011-06-14 19:44:51 UTC) #3
bsalomon
http://codereview.appspot.com/4571072/diff/11001/gpu/src/GrGLProgram.cpp File gpu/src/GrGLProgram.cpp (right): http://codereview.appspot.com/4571072/diff/11001/gpu/src/GrGLProgram.cpp#newcode514 gpu/src/GrGLProgram.cpp:514: GR_DEBUGASSERT((count & 0x01) == 0); Can we add a ...
13 years ago (2011-06-14 20:33:13 UTC) #4
Stephen White
On 2011/06/14 19:44:51, reed1 wrote: > http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h > File gpu/include/GrDrawTarget.h (right): > > http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h#newcode439 > ...
13 years ago (2011-06-14 22:18:13 UTC) #5
Stephen White
Thanks for the review. http://codereview.appspot.com/4571072/diff/11001/gpu/src/GrGLProgram.cpp File gpu/src/GrGLProgram.cpp (right): http://codereview.appspot.com/4571072/diff/11001/gpu/src/GrGLProgram.cpp#newcode514 gpu/src/GrGLProgram.cpp:514: GR_DEBUGASSERT((count & 0x01) == 0); ...
13 years ago (2011-06-14 22:22:25 UTC) #6
Stephen White
Fixes from review comments
13 years ago (2011-06-14 22:23:45 UTC) #7
Stephen White
Thanks for the review. http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h File gpu/include/GrDrawTarget.h (right): http://codereview.appspot.com/4571072/diff/11001/gpu/include/GrDrawTarget.h#newcode439 gpu/include/GrDrawTarget.h:439: bool isConcaveState() const { Actually, ...
13 years ago (2011-06-14 22:30:50 UTC) #8
reed1
LGTM, waiting on others http://codereview.appspot.com/4571072/diff/18002/gpu/include/GrDrawTarget.h File gpu/include/GrDrawTarget.h (right): http://codereview.appspot.com/4571072/diff/18002/gpu/include/GrDrawTarget.h#newcode91 gpu/include/GrDrawTarget.h:91: // ops. Not specific to ...
13 years ago (2011-06-15 12:07:07 UTC) #9
bsalomon
LGTM, too. I assume it passed the program unit test. Are we seeing cases where ...
13 years ago (2011-06-15 13:06:33 UTC) #10
TomH
LGTM, modulo nits. Sorry this was so slow, I thought I was CC: rather than ...
13 years ago (2011-06-15 13:49:43 UTC) #11
Stephen White
On Wed, Jun 15, 2011 at 9:06 AM, <bsalomon@google.com> wrote: > LGTM, too. I assume ...
13 years ago (2011-06-15 13:52:40 UTC) #12
Stephen White
Fixes for ProgramUnitTest; Responding to Tom's comments
13 years ago (2011-06-15 14:23:50 UTC) #13
Stephen White
Thanks for the review, Tom. http://codereview.appspot.com/4571072/diff/18002/gpu/src/GrTesselatedPathRenderer.cpp File gpu/src/GrTesselatedPathRenderer.cpp (right): http://codereview.appspot.com/4571072/diff/18002/gpu/src/GrTesselatedPathRenderer.cpp#newcode302 gpu/src/GrTesselatedPathRenderer.cpp:302: } while (nearlyEqual(v1, v2) ...
13 years ago (2011-06-15 14:24:29 UTC) #14
Stephen White
Do you guys want to take a look at the updated version, or should I ...
13 years ago (2011-06-15 17:24:45 UTC) #15
TomH
On 2011/06/15 17:24:45, Stephen White wrote: > Do you guys want to take a look ...
13 years ago (2011-06-15 17:27:31 UTC) #16
Stephen White
13 years ago (2011-06-15 17:53:14 UTC) #17
Landed as r1600.  Closing.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b