summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author ztenghui <ztenghui@google.com> 2014-01-07 10:42:55 -0800
committer ztenghui <ztenghui@google.com> 2014-01-10 17:18:53 -0800
commit7b4516e7ea552ad08d6e7277d311ef11bd8f12e8 (patch)
treea97549bff020af39946aabd5a5c27c1151a90539 /libs/hwui/OpenGLRenderer.cpp
parent0ffd9ca5798d6c55d2a02f453dd181899639dce2 (diff)
Calculate and show the shadow from a spot light.
Change-Id: Ia558852e8cde5d33866b22875eb501e4c6858819
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 22cd2d414277..4f6da2b9eb1b 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -3194,10 +3194,18 @@ status_t OpenGLRenderer::drawShadow(const mat4& casterTransform, float casterAlp
paint.setColor(mCaches.propertyShadowStrength << 24);
paint.setAntiAlias(true); // want to use AlphaVertex
- VertexBuffer shadowVertexBuffer;
+ VertexBuffer ambientShadowVertexBuffer;
ShadowTessellator::tessellateAmbientShadow(width, height, casterTransform,
- shadowVertexBuffer);
- return drawVertexBuffer(shadowVertexBuffer, &paint);
+ ambientShadowVertexBuffer);
+ drawVertexBuffer(ambientShadowVertexBuffer, &paint);
+
+ VertexBuffer spotShadowVertexBuffer;
+ ShadowTessellator::tessellateSpotShadow(width, height,
+ getWidth(), getHeight(), casterTransform,
+ spotShadowVertexBuffer);
+ drawVertexBuffer(spotShadowVertexBuffer, &paint);
+
+ return DrawGlInfo::kStatusDrew;
}
status_t OpenGLRenderer::drawColorRects(const float* rects, int count, int color,