Skip to content
This repository was archived by the owner on Apr 29, 2021. It is now read-only.

Commit deda3cd

Browse files
committed
add drawShadowFast
1 parent 730288a commit deda3cd

File tree

1 file changed

+2
-35
lines changed

1 file changed

+2
-35
lines changed

Runtime/ui/painting/shadow_utils.cs

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ float heightFunc(float x, float y) {
143143
public static void drawShadow(Canvas canvas, Path path, Vector3 zPlaneParams, Vector3 devLightPos,
144144
float lightRadius, uiColor ambientColor, uiColor spotColor, int flags) {
145145
if (kUseFastShadow) {
146-
drawShadowFull2(canvas, path, zPlaneParams, devLightPos, lightRadius, ambientColor, spotColor, flags);
146+
drawShadowFast(canvas, path, zPlaneParams, devLightPos, lightRadius, ambientColor, spotColor, flags);
147147
}
148148
else {
149149
drawShadowFull(canvas, path, zPlaneParams, devLightPos, lightRadius, ambientColor, spotColor, flags);
@@ -204,7 +204,7 @@ static void drawShadowFull(Canvas canvas, Path path, Vector3 zPlaneParams, Vecto
204204
}
205205

206206

207-
static void drawShadowFull2(Canvas canvas, Path path, Vector3 zPlaneParams, Vector3 devLightPos,
207+
static void drawShadowFast(Canvas canvas, Path path, Vector3 zPlaneParams, Vector3 devLightPos,
208208
float lightRadius, uiColor ambientColor, uiColor spotColor, int flags) {
209209
Matrix3 viewMatrix = canvas.getTotalMatrix();
210210

@@ -253,39 +253,6 @@ static void drawShadowFull2(Canvas canvas, Path path, Vector3 zPlaneParams, Vect
253253

254254
_shadowPaint.maskFilter = null;
255255
}
256-
257-
static void drawShadowFast(Canvas canvas, Path path, Vector3 zPlaneParams, Vector3 devLightPos,
258-
float lightRadius, uiColor ambientColor, uiColor spotColor, int flags) {
259-
Matrix3 viewMatrix = canvas.getTotalMatrix();
260-
261-
//ambient light
262-
float devSpaceOutset = ambientBlurRadius(zPlaneParams.z);
263-
float oneOverA = ambientRecipAlpha(zPlaneParams.z);
264-
float blurRadius = 0.5f * devSpaceOutset * oneOverA;
265-
float strokeWidth = 0.5f * (devSpaceOutset - blurRadius);
266-
267-
_shadowPaint.color = new Color(ambientColor.value);
268-
_shadowPaint.strokeWidth = strokeWidth;
269-
_shadowPaint.style = PaintingStyle.fill;
270-
canvas.drawPath(path, _shadowPaint);
271-
272-
//spot light
273-
float radius = 0.0f;
274-
275-
if (!getSpotShadowTransform(devLightPos, lightRadius, viewMatrix, zPlaneParams, path.getBounds(),
276-
_shadowMatrix, ref radius)) {
277-
return;
278-
}
279-
280-
canvas.save();
281-
canvas.setMatrix(_shadowMatrix);
282-
_shadowPaint.color = new Color(spotColor.value);
283-
_shadowPaint.strokeWidth = 0;
284-
_shadowPaint.style = PaintingStyle.fill;
285-
canvas.drawPath(path, _shadowPaint);
286-
287-
canvas.restore();
288-
}
289256

290257
/*
291258
* Check whether the RRect is a naive Round-Rect, of which

0 commit comments

Comments
 (0)