summaryrefslogtreecommitdiffstats
path: root/libs/hwui/SpotShadow.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Glop ColorFilter & VertexBuffer support, initial enableChris Craik2015-02-061-1/+1
| | | | | | | Enables Glop rendering for supported Rects and VertexBuffers Also removes unused Query object Change-Id: Ibe227bc362685a153159f75077664f0947764e06
* Add overrides and switch to nullptr keyword for all filesChris Craik2015-01-051-1/+1
| | | | | | | Adds remaining missing overrides and nullptr usages, missed due to an extreme failure in tool usage. Change-Id: I56abd72975a3999ad13330003c348db40f59aebf
* Revert "resolved conflicts for merge of 220c3f4f to master"Andreas Gampe2014-11-221-1/+1
| | | | | | | | Reverted as hwui doesn't agree. This reverts commit 8a902d9f24e83c87b054adb5836b4a5b8a257be9. Change-Id: I109e7b02bee2921e2155ded6df36f52e6f574b5a
* resolved conflicts for merge of 220c3f4f to masterAndreas Gampe2014-11-211-1/+1
|\ | | | | | | Change-Id: I37ecce8fddecdff82b0eace16f1ee75152f7171e
| * resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-211-1/+1
| |\ | | | | | | | | | Change-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943
| | * Frameworks/base: Unused parameters in hwuiAndreas Gampe2014-11-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove Clang cutout for unused parameters. Fix warnings. Remove Clang cutout for deprecated Skia function usage. Has been fixed in the L push. Change-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7
* | | am 5679d937: am ab6515f6: am 4e50ee4f: Merge "Shadow: Fix the crash in spot ↵ztenghui2014-11-121-7/+13
|\ \ \ | |/ / | | | | | | | | | | | | | | | shadow" into lmp-mr1-dev * commit '5679d937ff033ff1fa86245d646b6e5dbf23d635': Shadow: Fix the crash in spot shadow
| * | am ab6515f6: am 4e50ee4f: Merge "Shadow: Fix the crash in spot shadow" into ↵ztenghui2014-11-121-7/+13
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev * commit 'ab6515f6214a09e23deee4b432b41d1849ae403f': Shadow: Fix the crash in spot shadow
| | * | Shadow: Fix the crash in spot shadowztenghui2014-11-121-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the crash from searching for closest umbra vertex by initialized the starting index correctly. Fix another potential crash related to ray intersection by introducing epsilon. b/18315089 Change-Id: I9ac9a781a885701a8388714d44f79a1d905e5d33
| * | | resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-101-2/+6
| |\ \ \ | | |/ / | |/| / | | |/ Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
* | | resolved conflicts for merge of 1d03b816 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-101-2/+6
| | | | | | | | | | | | | | | | | | (cherry picked from commit 1272887050a269d6d506b42099c2857847ad100b) Change-Id: Ib673768fe5fc03615626ef4b10590e5317f22172
* | | am 86f289fb: am 0b70c09c: am 7ae6fc81: Merge "A better looking and faster ↵ztenghui2014-11-071-614/+296
|\ \ \ | |/ / | | | | | | | | | | | | | | | spot shadow." into lmp-mr1-dev * commit '86f289fb505a8fef9e5aae822631a738540c31df': A better looking and faster spot shadow.
| * | A better looking and faster spot shadow.ztenghui2014-11-061-614/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. This improve the looking, the star shape (spike) on long action bar is gone. Shadow is more smooth now. 2. The performance is better, too. For averaging around rect, round rect and circle, the spot shadow itself is 3 times faster. On N7 v1, it could be less than 0.1 ms. b/14976551 b/16712006 Change-Id: I61ed546ee56e7c8dbe504dfcaef12d084904b4b8
* | | Clean up physical couplingTom Hudson2014-10-151-0/+1
|/ / | | | | | | | | | | | | | | 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
* | Use float instead of double to increase spot shadow perfztenghui2014-10-031-206/+17
|/ | | | | | | | | This is helping spot shadow for 15%-20% increase. With the new algorithm, we are less sensitive to the floating point error. b/16712006 Change-Id: Ie30a6ce01e73d56054a0cf65a84549454339a7fd
* Re-triangulate the spot shadow.ztenghui2014-09-101-264/+770
| | | | | | | | | | | | | | | | 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
* Correctly detect the wrong Z value for the lightztenghui2014-08-261-2/+6
| | | | | | b/17221975 Change-Id: I2b46da95ad12ca5260d7fe9514a75558b6b6393b
* Improve the spot shadow computation.ztenghui2014-08-221-15/+229
| | | | | | | | | | | | | | | | 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
* Switch to cos interpolation of shadow alphaChris Craik2014-08-121-3/+9
| | | | | | | | | | bug:16852257 Updates default shadow opacities to compensate. Also, update variable/constant naming related to vertex alpha. Change-Id: I9055b4ac3c9ac305ca9d515f21b52d6aa6dc9c5c
* Fix ALL compile warningsJohn Reck2014-07-241-3/+3
| | | | | | All warnings/errors fixed for GCC & Clang Change-Id: I2ece3a136a5ae97a9acc3069537ed986238b5fd3
* Compute layer bounds over subset of VertexBuffer vertsChris Craik2014-07-241-2/+3
| | | | | bug:15538815 Change-Id: I0dbb54f656a6ae99a87c5734761107e1c2351b65
* Build layer damage bounds for shadowsChris Craik2014-07-231-0/+1
| | | | | | bug:15538815 Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
* Tessellate on worker threadsChris Craik2014-06-101-2/+2
| | | | | | Tessellate and cache (where possible) shadow and round rect tessellation tasks. Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
* Make sure the theta is correctly represented and incoming polygon is CW for ↵ztenghui2014-04-281-24/+3
| | | | | | | | | | | | | | | 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
* Get rid of useless codeztenghui2014-03-181-6/+1
| | | | Change-Id: I7fedd0df349e1d9408d58edcab25396e2ff2edd6
* Fix the missing spot shadow when DEBUG_SHADOW is turned onztenghui2014-03-171-1/+3
| | | | | | | In the current design, this error should be tolerated since the delta should be small enough. So we should not return here. Change-Id: I251db2882b331d37ae7f0896e9aa95d69a5650da
* Create one hole inside the umbra area to avoid overdraw.ztenghui2014-03-171-60/+105
| | | | | | bug:13439450 Change-Id: I859575196bd5a3029f447883025a6ec3a1f1face
* Force shadow casters above the Z=0 planeChris Craik2014-03-121-5/+0
| | | | Change-Id: Ifee75414829d4bfb3c7aa6219f1f9bcfd50ff0c6
* Fix orthographic shadows projection, simplify shadow reorderingChris Craik2014-03-121-4/+4
| | | | | | | | | Separate matrix passed to shadow system into two parts, one for transforming the polygon XY points (using the actual draw matrix) and a separate one which respects correct 4x4 3d rotations and translations for determining Z values. Change-Id: I7e30a84774a8709df6b2241e8f51fc5583648fe8
* Improve shadow tessellation performanceChris Craik2014-03-111-118/+129
| | | | | | | | - Tune and simplify shadow parameters - Remove additional inner rings - Improve polygon ray casting algorithm Change-Id: If0f28b2d66ae0480b675942bb65e8fcd2864425d
* Use pre-computed index to draw the shadow.ztenghui2014-02-251-104/+37
| | | | | | | | Also draw the umbra part as triangle fans instead of zig zag fashion. b/12840179 Change-Id: Iaa5d15e77351acdd71f076bd8f9bb2d4d2b92faf
* Merge "Fixing a bad bug when there is no real umbra"ztenghui2014-02-031-10/+8
|\
| * Fixing a bad bug when there is no real umbraztenghui2014-01-311-10/+8
| | | | | | | | | | | | This fixed most of the issues when the light's Z postion is low. Change-Id: If49afbf8aa90b1ce32fd628a62ed982a1a473da2
* | Simplify umbra calculationChris Craik2014-01-311-18/+8
| | | | | | | | | | | | Reuse pre-computed values Change-Id: Ia7725be0ec3ac58af477fcb8de375f5faa05abf4
* | Merge close vertices in a better way.ztenghui2014-01-291-22/+166
|/ | | | | | And add more verification code for testing purpose. Change-Id: I5bc4f69e6582c02fd03106af9a98abd05a6755b7
* Calculate and show the shadow from a spot light.ztenghui2014-01-101-0/+839
Change-Id: Ia558852e8cde5d33866b22875eb501e4c6858819