Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: src/core/SkShadowShader.h

Issue 2285133002: Optimizations and more documentation of SkShadowShader (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: made req changes Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « samplecode/SampleShadowing.cpp ('k') | src/core/SkShadowShader.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #ifndef SkShadowShader_DEFINED 9 #ifndef SkShadowShader_DEFINED
10 #define SkShadowShader_DEFINED 10 #define SkShadowShader_DEFINED
11 11
12 #ifdef SK_EXPERIMENTAL_SHADOWING 12 #ifdef SK_EXPERIMENTAL_SHADOWING
13 13
14 class SkLights; 14 class SkLights;
15 class SkShader; 15 class SkShader;
16 16
17 class SK_API SkShadowShader { 17 class SK_API SkShadowShader {
18 public: 18 public:
19 /** This shader combines the diffuse color in 'diffuseShader' with the shado ws 19 /** This shader combines the diffuse color in 'diffuseShader' with the shado ws
20 * determined by the 'povDepthShader' and the shadow maps stored in each of the 20 * determined by the 'povDepthShader' and the shadow maps stored in each of the
21 * lights in 'lights' 21 * lights in 'lights'
22 *
23 * Please note that the shadow shader is required to be in Stage0, otherwis e
24 * the texture coords will be wrong within the shader.
22 */ 25 */
23 static sk_sp<SkShader> Make(sk_sp<SkShader> povDepthShader, 26 static sk_sp<SkShader> Make(sk_sp<SkShader> povDepthShader,
24 sk_sp<SkShader> diffuseShader, 27 sk_sp<SkShader> diffuseShader,
25 sk_sp<SkLights> lights, 28 sk_sp<SkLights> lights,
26 int diffuseWidth, int diffuseHeight, 29 int diffuseWidth, int diffuseHeight,
27 const SkShadowParams& params); 30 const SkShadowParams& params);
28 31
29 // The shadow shader supports any number of ambient lights, but only 32 // The shadow shader supports any number of ambient lights, but only
30 // 4 non-ambient lights (currently just refers to directional lights). 33 // 4 non-ambient lights (currently just refers to directional lights).
31 static constexpr int kMaxNonAmbientLights = 4; 34 static constexpr int kMaxNonAmbientLights = 4;
32 35
33 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() 36 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
34 }; 37 };
35 38
36 #endif 39 #endif
37 #endif 40 #endif
OLDNEW
« no previous file with comments | « samplecode/SampleShadowing.cpp ('k') | src/core/SkShadowShader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698