63f0354b6d
Adds a new kDirectionLight_ShadowFlag which indicates that lightPosition is a vector pointing towards the light, and lightRadius is the blur radius when the occluder is at z == 1. For other values of z it will scale linearly. The direction is specified in device space. Bug: skia:10781 Change-Id: I14d530f006e5541ed6e22bfbeb29c7441c21fb8e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/321792 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
26 lines
845 B
C
26 lines
845 B
C
/*
|
|
* Copyright 2017 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkShadowFlags_DEFINED
|
|
#define SkShadowFlags_DEFINED
|
|
|
|
// A set of flags shared between the SkAmbientShadowMaskFilter and the SkSpotShadowMaskFilter
|
|
enum SkShadowFlags {
|
|
kNone_ShadowFlag = 0x00,
|
|
/** The occluding object is not opaque. Knowing that the occluder is opaque allows
|
|
* us to cull shadow geometry behind it and improve performance. */
|
|
kTransparentOccluder_ShadowFlag = 0x01,
|
|
/** Don't try to use analytic shadows. */
|
|
kGeometricOnly_ShadowFlag = 0x02,
|
|
/** Light position represents a direction, light radius is blur radius at elevation 1 */
|
|
kDirectionalLight_ShadowFlag = 0x04,
|
|
/** mask for all shadow flags */
|
|
kAll_ShadowFlag = 0x07
|
|
};
|
|
|
|
#endif
|