8def74de33b197c0c5ec8774576b1d71c7ec4f1b |
|
02-Oct-2014 |
ztenghui <ztenghui@google.com> |
+ correcting shadow visual appearance (b/17610926) + adjusting spot and ambient shadow opacity constants to achieve desired appearance + reducing ambient scale ratio back to 1.0 to address over-lightening at higher elevations + partially revert ag/546290 Change-Id: I9d7f664f73a7b9b83df73b739103c97054bd4f6e
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
f7d76dffd86398a787f0d8bd092a571c019daf04 |
|
13-Sep-2014 |
ztenghui <ztenghui@google.com> |
Update the shadow strength b/17486691 Change-Id: I8e8f0b64e757772c18f038f6b329ef91a4e155a5
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
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.cpp
|
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.cpp
|
1aa5d2d7068147ff781cfe911a93f01593a68c79 |
|
24-Jul-2014 |
John Reck <jreck@google.com> |
Fix ALL compile warnings All warnings/errors fixed for GCC & Clang Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
83f7ee8d12df1e8f031a0d23a00084f4fcd0d2f3 |
|
10-Jul-2014 |
ztenghui <ztenghui@google.com> |
Remove the unnessary log We still need to investigate the underlying problem and fix it. bug:16015708 Change-Id: If38b550d5af990d5aaa6633ee129a61e927d66c1
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
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.cpp
|
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.cpp
|
f11310f395a135ac7ef204ced5b3d3facf491422 |
|
14-May-2014 |
ztenghui <ztenghui@google.com> |
Check the array before accessing it TODO: Figure out why the path is generating empty polygon. bug: 14615368 Change-Id: If116e34388b7c6a71bf5ddd36e0c9716d7450732
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
87f9df880e4a5bfba65d2ed413b3ead649595129 |
|
07-Mar-2014 |
Chris Craik <ccraik@google.com> |
Update tessellation tracing Change-Id: I6c73f2467817412d9936dde217df9938a6884003
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
8191effc83b3ec4cfc8647a6eb16ee641fa85a2f |
|
17-Jan-2014 |
Chris Craik <ccraik@google.com> |
Merge "Map shadow light position globally"
|
7b3dfa4d13ca79404f8b0be6e47002cf8daff0a2 |
|
17-Jan-2014 |
Chris Craik <ccraik@google.com> |
Transform shadow casters correctly in 3d Change-Id: I11067c5aa8c749089b6ee163ddafa91865cc0d9f
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
3197cded4e265bc99dc82d695bbb7163fe134ed4 |
|
16-Jan-2014 |
Chris Craik <ccraik@google.com> |
Map shadow light position globally Change-Id: Ic3201cecdf5d2a1dd628e7e40aee912ef516d3b2
/frameworks/base/libs/hwui/ShadowTessellator.cpp
|
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.cpp
|
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.cpp
|