FastUIDraw
|
Painter Shader Data defines the interface for providing to shaders a small amount of data that is constant across all vertices and pixels of a drawn item. More...
Classes | |
class | fastuidraw::PainterBlendShaderData |
PainterBlendShaderData holds custom data for blend shaders. More... | |
class | fastuidraw::PainterBrushShaderData |
Base class to hold custom data for custom brush shaders. More... | |
class | fastuidraw::PainterDashedStrokeParams |
Class to specify dashed stroking parameters, data is packed as according to PainterDashedStrokeParams::stroke_data_offset_t. Data for dashing is packed [TODO describe]. More... | |
class | fastuidraw::PainterData |
A PainterData provides the data for how for a Painter to draw content. More... | |
class | fastuidraw::PainterDataValue< T > |
Element of PainterData to hold shader data either reference directly to unpacked data or to reuseable packed data. More... | |
class | fastuidraw::PainterGradientBrushShaderData |
A PainterGradientBrushShaderData defines the PainterBrushShaderData that the shaders of a PainterGradientBrushShader consume. It specifies what ColorStopSequence to use together with the geometric properties of the gradient. More... | |
class | fastuidraw::PainterImageBrushShaderData |
A PainterImageBrushShaderData defines the PainterBrushShaderData that the shaders of a PainterImageBrushShader consume. It specifies what Image and what rectangular region within it from which to source image data. More... | |
class | fastuidraw::PainterItemShaderData |
PainterItemShaderData holds custom data for item shaders. More... | |
class | fastuidraw::PainterPackedValue< T > |
A PainterPackedValue represents a handle to an object that stores packed state data and tracks if that underlying data is already is already copied to PainterDraw::m_store. More... | |
class | fastuidraw::PainterPackedValueBase |
(Private) base class used for PainterPackedValue More... | |
class | fastuidraw::PainterPackedValuePool |
A PainterPackedValuePool can be used to create PainterPackedValue objects. More... | |
class | fastuidraw::PainterShaderData |
Common base class to PainterItemShaderData, PainterBrushShaderData and PainterBlendShaderData to hold shader data for custom shaders. More... | |
class | fastuidraw::PainterStrokeParams |
Class to specify stroking parameters, data is packed as according to PainterStrokeParams::stroke_data_offset_t. More... | |
Painter Shader Data defines the interface for providing to shaders a small amount of data that is constant across all vertices and pixels of a drawn item.
Each of the data classes is paired with a shader classes:
The data is passed to fastuidraw::Painter methods through the class fastuidraw::PainterData. Shader data can also be pre-packed by a caller for reuse through the immutable class fastuidraw::PainterPackedValue. Using fastuidraw::PainterPackedValue for when the same shader data values are used is a big win because that class provides the means for FastUIDraw to upload that shader data far fewer times (usually once for an entire frame instead once per use).