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
diff --git a/libs/hwui/ShadowTessellator.h b/libs/hwui/ShadowTessellator.h
index 2399f8f..ef95609 100644
--- a/libs/hwui/ShadowTessellator.h
+++ b/libs/hwui/ShadowTessellator.h
@@ -26,18 +26,12 @@
class ShadowTessellator {
public:
- static void tessellateAmbientShadow(float width, float height,
- const mat4& casterTransform, VertexBuffer& shadowVertexBuffer);
-
- static void tessellateSpotShadow(float width, float height,
- const Vector3& lightPosScale, const mat4& receiverTransform,
- int screenWidth, int screenHeight, const mat4& casterTransform,
+ static void tessellateAmbientShadow(const Vector3* casterPolygon, int casterVertexCount,
VertexBuffer& shadowVertexBuffer);
-private:
- static void generateCasterPolygon(float width, float height,
- const mat4& casterTransform, int vertexCount, Vector3* polygon);
-
+ static void tessellateSpotShadow(const Vector3* casterPolygon, int casterVertexCount,
+ const Vector3& lightPosScale, const mat4& receiverTransform,
+ int screenWidth, int screenHeight, VertexBuffer& shadowVertexBuffer);
}; // ShadowTessellator
}; // namespace uirenderer