Flutter Engine
The Flutter Engine
|
Public Member Functions | |
const char * | name () const override |
void | addToKey (const GrShaderCaps &caps, skgpu::KeyBuilder *b) const override |
std::unique_ptr< ProgramImpl > | makeProgramImpl (const GrShaderCaps &) const override |
Public Member Functions inherited from GrGeometryProcessor | |
GrGeometryProcessor (ClassID) | |
int | numTextureSamplers () const |
const TextureSampler & | textureSampler (int index) const |
int | numVertexAttributes () const |
const AttributeSet & | vertexAttributes () const |
int | numInstanceAttributes () const |
const AttributeSet & | instanceAttributes () const |
bool | hasVertexAttributes () const |
bool | hasInstanceAttributes () const |
size_t | vertexStride () const |
size_t | instanceStride () const |
virtual void | addToKey (const GrShaderCaps &, skgpu::KeyBuilder *) const =0 |
void | getAttributeKey (skgpu::KeyBuilder *b) const |
virtual std::unique_ptr< ProgramImpl > | makeProgramImpl (const GrShaderCaps &) const =0 |
Public Member Functions inherited from GrProcessor | |
virtual | ~GrProcessor ()=default |
virtual const char * | name () const =0 |
void * | operator new (size_t size) |
void * | operator new (size_t object_size, size_t footer_size) |
void | operator delete (void *target) |
void * | operator new (size_t size, void *placement) |
void | operator delete (void *target, void *placement) |
template<typename T > | |
const T & | cast () const |
ClassID | classID () const |
Static Public Member Functions | |
static GrGeometryProcessor * | Make (SkArenaAlloc *arena, bool stroke, bool clipPlane, bool isectPlane, bool unionPlane, bool roundCaps, bool wideColor, const SkMatrix &localMatrix) |
Static Public Member Functions inherited from GrGeometryProcessor | |
static uint32_t | ComputeCoordTransformsKey (const GrFragmentProcessor &fp) |
The output of this effect is a modulation of the input color and coverage for a circle. It operates in a space normalized by the circle radius (outer radius in the case of a stroke) with origin at the circle center. Three vertex attributes are used: vec2f : position in device space of the bounding geometry vertices vec4ub: color vec4f : (p.xy, outerRad, innerRad) p is the position in the normalized space. outerRad is the outerRadius in device space. innerRad is the innerRadius in normalized space (ignored if not stroking). Additional clip planes are supported for rendering circular arcs. The additional planes are either intersected or unioned together. Up to three planes are supported (an initial plane, a plane intersected with the initial plane, and a plane unioned with the first two). Only two are useful for any given arc, but having all three in one instance allows combining different types of arcs. Round caps for stroking are allowed as well. The caps are specified as two circle center points in the same space as p.xy.
Definition at line 75 of file GrOvalOpFactory.cpp.
|
inlineoverridevirtual |
Adds a key on the skgpu::KeyBuilder that reflects any variety in the code that the geometry processor subclass can emit.
Implements GrGeometryProcessor.
Definition at line 88 of file GrOvalOpFactory.cpp.
|
inlinestatic |
Definition at line 77 of file GrOvalOpFactory.cpp.
|
inlineoverridevirtual |
Returns a new instance of the appropriate implementation class for the given GrGeometryProcessor.
Implements GrGeometryProcessor.
Definition at line 99 of file GrOvalOpFactory.cpp.
|
inlineoverridevirtual |
Human-meaningful string to identify this processor; may be embedded in generated shader code and must be a legal SkSL identifier prefix.
Implements GrProcessor.
Definition at line 86 of file GrOvalOpFactory.cpp.