8 Commits

Author SHA1 Message Date
Chris Craik
117bdbcfa3 Glop ColorFilter & VertexBuffer support, initial enable
Enables Glop rendering for supported Rects and VertexBuffers
Also removes unused Query object

Change-Id: Ibe227bc362685a153159f75077664f0947764e06
2015-02-06 13:42:25 -08:00
Chris Craik
e84a208317 Add overrides and switch to nullptr keyword
Changes generated with clang-modernize.

Additionally, fixed some struct-vs-class usage to make clang happy.

Change-Id: Ic6ef2427401ff1e794d26f21f7b44868fc75fb72
2014-12-22 14:56:08 -08:00
ztenghui
512e643ce8 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
2014-09-10 17:05:59 -07:00
ztenghui
d5e8ade498 Ambient shadow tessellation improvement.
Using the vertices, instead of ray casting for the triangulation.

This request a dynamic index buffer associated with vertex buffer,
so we update the VertexBuffer to support it.

The ambient shadow could be 3x-6x times faster for circle and rect now.

b/16712006
b/14257173

Change-Id: I2f22a8fe19bc59acee5c18e4a3a395acd5042a66
2014-08-29 13:40:42 -07:00
Chris Craik
9a89bc6524 Compute layer bounds over subset of VertexBuffer verts
bug:15538815
Change-Id: I0dbb54f656a6ae99a87c5734761107e1c2351b65
2014-07-24 17:49:23 +00:00
Chris Craik
c93e45cf04 Build layer damage bounds for shadows
bug:15538815

Change-Id: I703afeb7e31c28002bd1aff9ce448ec8cdc4e70d
2014-07-23 11:04:53 -07:00
Chris Craik
05f3d6e511 Tessellate on worker threads
Tessellate and cache (where possible) shadow and round rect
tessellation tasks.

Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
2014-06-10 01:53:17 +00:00
ztenghui
55bfb4e728 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
2013-12-13 17:25:47 -08:00