fca52b7583d1e5f5ff8ed06554875d2a30ef56fa |
|
28-Apr-2015 |
Chris Craik <ccraik@google.com> |
Use path intersection instead of saveLayer+mesh to mask projected ripples bug:14297149 SaveLayer's performance cost is high, and proportional to the surface being projected onto. Since ripples (even unbounded ones) are now always projected to the arbitrary background content behind them, this cost is especially important to avoid. This removes the last semi-secret, saveLayer from the projected ripple implementation. Also fixes the HW test app to correctly demonstrate this projection masking behavior. Additionaly, alters PathTessellator to gracefully handle counter-clockwise paths, and simplifies the work done by ShadowTessellator to ensure all of its paths are counterclockwise. Change-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c
/frameworks/base/libs/hwui/ShadowTessellator.h
|
117bdbcfa3e8306dad21e7e01fa71b00cdfa7265 |
|
05-Feb-2015 |
Chris Craik <ccraik@google.com> |
Glop ColorFilter & VertexBuffer support, initial enable Enables Glop rendering for supported Rects and VertexBuffers Also removes unused Query object Change-Id: Ibe227bc362685a153159f75077664f0947764e06
/frameworks/base/libs/hwui/ShadowTessellator.h
|
2dc236b2bae13b9a0ed9b3f7320502aecd7983b3 |
|
15-Oct-2014 |
Tom Hudson <tomhudson@google.com> |
Clean up physical coupling Narrow the use of #include directives in hwui, replacing with forward declarations where straightforward. Speeds compiles; doesn't do any restructuring of code. Change-Id: Icac2baffb5896f55d8c6718e9bd9d4bfa02d3ca0
/frameworks/base/libs/hwui/ShadowTessellator.h
|
512e643ce83b1d48ad9630a3622276f795cf4fb2 |
|
10-Sep-2014 |
ztenghui <ztenghui@google.com> |
Re-triangulate the spot shadow. Fix the valid umbra detection. This looks better b/c every vertex will have one ray shooting at it, such that we don't miss the corner. This performs better too, due to the polygon intersection is removed and less ray intersection. 2x performance for rect and circle for spot shadow in test app. b/17288227 b/15598793 b/16712006 Change-Id: I4a5ee397b9e192e93c8e35e6260b499e3e38a6f4
/frameworks/base/libs/hwui/ShadowTessellator.h
|
c50a03d78aaedd0003377e98710e7038bda330e9 |
|
21-Aug-2014 |
ztenghui <ztenghui@google.com> |
Improve the spot shadow computation. Get rid of compuation of the intersection for penumbra and convex hull for umbra. Use simple circle / normal to compute the penumbra and simple intersection for umbra. The new way could be 2x to 4x faster from rectangle to round shape. And this part is roughly half of the shadow computation, or 2/3 of spot shadow computation. This improve the spot shadow spikeness too. b/16712006 b/14976551 Change-Id: I02911784868731369efa73f76fc915bc08248600
/frameworks/base/libs/hwui/ShadowTessellator.h
|
05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5 |
|
03-Jun-2014 |
Chris Craik <ccraik@google.com> |
Tessellate on worker threads Tessellate and cache (where possible) shadow and round rect tessellation tasks. Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
/frameworks/base/libs/hwui/ShadowTessellator.h
|
797b95b26bbb7557678af78b9a2a61830158920f |
|
21-May-2014 |
Chris Craik <ccraik@google.com> |
Define light position (using new lighting spec) in Java Also updates the relative shadow strengths. Change-Id: I6cac7275d38df98aea9f0dda463cd7207102986a
/frameworks/base/libs/hwui/ShadowTessellator.h
|
64ab917e5eb3269c72c795781a512d4ee7d9d7a4 |
|
01-May-2014 |
Chris Craik <ccraik@google.com> |
Merge "Add more shadow control knobs"
|
f5be3ca5cc5b3a10747b577f60059a99862bb9a8 |
|
01-May-2014 |
Chris Craik <ccraik@google.com> |
Add more shadow control knobs Change-Id: I1ff500bf429029a97b681ced9df652f4ee9f1332
/frameworks/base/libs/hwui/ShadowTessellator.h
|
2e023f3827dfc0dfc1ed7c3dd54d02b4a993f0b4 |
|
29-Apr-2014 |
ztenghui <ztenghui@google.com> |
Make sure the theta is correctly represented and incoming polygon is CW for shadow. Now the theta = 0 should be on +x axis. And cos(theta) should correctly represent x value. Without this fix, the poly theta (from atan2) can be wrongly rotated 90 degrees. Also, make sure the incoming polygon is CW for the shadow system. This fix visual artifacts in recent regression for spot shadows. bug:13553955 Change-Id: I9bbf54db094e7f133326da4dae4610962da849c1
/frameworks/base/libs/hwui/ShadowTessellator.h
|
7940dc57e3ffcf9c4a33375215f3a42250fa896c |
|
22-Apr-2014 |
ztenghui <ztenghui@google.com> |
Shoot the rays to the vertices of the incoming polygon. bug:13553955 Change-Id: I4825a49e8eaab969c40f2ee4086f7669c9c6fd29
/frameworks/base/libs/hwui/ShadowTessellator.h
|
af6f7ed8dd4288a41d0a07a1f0f0be7d6d035b33 |
|
19-Mar-2014 |
ztenghui <ztenghui@google.com> |
Early rejection on shadows which are outside of the clip bound. All the computations are estimated using bounding box. TODO: Spot shadow could have more accurate but also more expensive methods, we need more experiments to decide. Change-Id: I9c10c419576cee55daf0f9f278b0db78cb847447
/frameworks/base/libs/hwui/ShadowTessellator.h
|
50ecf849cb7ccc3482517b74d2214b347927791e |
|
12-Mar-2014 |
ztenghui <ztenghui@google.com> |
Create one hole inside the umbra area to avoid overdraw. bug:13439450 Change-Id: I859575196bd5a3029f447883025a6ec3a1f1face
/frameworks/base/libs/hwui/ShadowTessellator.h
|
b98f2116f5896acb4b221015b22624a3c5d5a7fe |
|
12-Mar-2014 |
Chris Craik <ccraik@google.com> |
Force shadow casters above the Z=0 plane Change-Id: Ifee75414829d4bfb3c7aa6219f1f9bcfd50ff0c6
/frameworks/base/libs/hwui/ShadowTessellator.h
|
726118b35240957710d4d85fb5747e2ba8b934f7 |
|
08-Mar-2014 |
Chris Craik <ccraik@google.com> |
Improve shadow tessellation performance - Tune and simplify shadow parameters - Remove additional inner rings - Improve polygon ray casting algorithm Change-Id: If0f28b2d66ae0480b675942bb65e8fcd2864425d
/frameworks/base/libs/hwui/ShadowTessellator.h
|
63d41abb40b3ce40d8b9bccb1cf186e8158a3687 |
|
14-Feb-2014 |
ztenghui <ztenghui@google.com> |
Use pre-computed index to draw the shadow. Also draw the umbra part as triangle fans instead of zig zag fashion. b/12840179 Change-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf
/frameworks/base/libs/hwui/ShadowTessellator.h
|
15a07a21eb33e8ca1c7444944fe0541a53380c0c |
|
26-Jan-2014 |
Chris Craik <ccraik@google.com> |
Use path outlines to define shadow shapes Fixes the simplifying assumption that shadow casters were always rectangular. Java side APIs + plumbing to pass down correct shapes still need to be added. Change-Id: Ic4fee90af15679951a44bb5cc6ae454b98c4c194
/frameworks/base/libs/hwui/ShadowTessellator.h
|
cc3c25622c731d14a6f01bce684330eccba7db5a |
|
17-Jan-2014 |
ztenghui <ztenghui@google.com> |
Property support for light positioning. Tune up the light size to make it look better. Change-Id: I139a05f3dd53dacbe55759b91188f0e1cc2c7f80
/frameworks/base/libs/hwui/ShadowTessellator.h
|
3197cded4e265bc99dc82d695bbb7163fe134ed4 |
|
16-Jan-2014 |
Chris Craik <ccraik@google.com> |
Map shadow light position globally Change-Id: Ic3201cecdf5d2a1dd628e7e40aee912ef516d3b2
/frameworks/base/libs/hwui/ShadowTessellator.h
|
7b4516e7ea552ad08d6e7277d311ef11bd8f12e8 |
|
07-Jan-2014 |
ztenghui <ztenghui@google.com> |
Calculate and show the shadow from a spot light. Change-Id: Ia558852e8cde5d33866b22875eb501e4c6858819
/frameworks/base/libs/hwui/ShadowTessellator.h
|
55bfb4e728fe1db619af5d2c287f4abe711b3343 |
|
03-Dec-2013 |
ztenghui <ztenghui@google.com> |
Calculate and show Ambient shadow. Basically we compute the shadow as a strip of triangles, whose alpha value is the strength of the shadow. We use the normal to extend the geometry. And we use static function and try to avoid new/malloc in the computation. Change-Id: I382286f1cad351bd5ff983f76f446c075819dcaf
/frameworks/base/libs/hwui/ShadowTessellator.h
|