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

Side by Side Diff: include/gpu/GrCoordTransform.h

Issue 811373002: Remove GrCoordTransform::kPosition_CoordSet (Closed) Base URL: https://skia.googlesource.com/skia.git@jgm
Patch Set: fix warning Created 6 years 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 | « no previous file | src/gpu/GrClipMaskManager.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 2013 Google Inc. 2 * Copyright 2013 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 #ifndef GrCoordTransform_DEFINED 8 #ifndef GrCoordTransform_DEFINED
9 #define GrCoordTransform_DEFINED 9 #define GrCoordTransform_DEFINED
10 10
11 #include "GrProcessor.h" 11 #include "GrProcessor.h"
12 #include "SkMatrix.h" 12 #include "SkMatrix.h"
13 #include "GrTexture.h" 13 #include "GrTexture.h"
14 #include "GrTypes.h" 14 #include "GrTypes.h"
15 #include "GrShaderVar.h" 15 #include "GrShaderVar.h"
16 16
17 /** 17 /**
18 * Coordinates available to GrProcessor subclasses for requesting transformation s. Transformed 18 * Coordinates available to GrProcessor subclasses for requesting transformation s. Transformed
19 * coordinates are made available in the the portion of fragment shader emitted by the effect. 19 * coordinates are made available in the the portion of fragment shader emitted by the effect.
20 * 20 *
21 * The precision of the shader var that interpolates the transformed coordinates can be specified. 21 * The precision of the shader var that interpolates the transformed coordinates can be specified.
22 */ 22 */
23 enum GrCoordSet { 23 enum GrCoordSet {
24 /** 24 /**
25 * The user-space coordinates that map to the fragment being rendered. These coords account for 25 * The user-space coordinates that map to the fragment being rendered. This is the space in
26 * any change of coordinate system done on the CPU by GrContext before rende ring, and also are 26 * which SkShader operates. It is usually the space in which geometry passed to SkCanvas is
27 * correct for draws that take explicit local coords rather than inferring t hem from the 27 * specified (before the view matrix is applied). However, some draw calls t ake explicit local
28 * primitive's positions (e.g. drawVertices). These are usually the coords a GrProcessor wants. 28 * coords that map onto the geometry (e.g. drawVertices, drawBitmapRectToRec t).
29 */ 29 */
30 kLocal_GrCoordSet, 30 kLocal_GrCoordSet,
31 31
32 /** 32 /**
33 * The actual vertex position. Note that GrContext may not draw using the or iginal view matrix 33 * The device space position of the fragment being shaded.
34 * specified by the caller, as it may have transformed vertices into another space. These are
35 * usually not the coordinates a GrProcessor wants.
36 */
37 kPosition_GrCoordSet,
38
39 /**
40 * The position after it has been transformed by the view matrix.
41 */ 34 */
42 kDevice_GrCoordSet, 35 kDevice_GrCoordSet,
43 }; 36 };
44 37
45 /** 38 /**
46 * A class representing a linear transformation from one of the built-in coordin ate sets (local or 39 * A class representing a linear transformation from one of the built-in coordin ate sets (local or
47 * position). GrProcessors just define these transformations, and the framework does the rest of the 40 * position). GrProcessors just define these transformations, and the framework does the rest of the
48 * work to make the transformed coordinates available in their fragment shader. 41 * work to make the transformed coordinates available in their fragment shader.
49 */ 42 */
50 class GrCoordTransform : SkNoncopyable { 43 class GrCoordTransform : SkNoncopyable {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 138
146 #ifdef SK_DEBUG 139 #ifdef SK_DEBUG
147 public: 140 public:
148 void setInProcessor() const { fInProcessor = true; } 141 void setInProcessor() const { fInProcessor = true; }
149 private: 142 private:
150 mutable bool fInProcessor; 143 mutable bool fInProcessor;
151 #endif 144 #endif
152 }; 145 };
153 146
154 #endif 147 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/GrClipMaskManager.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698