20 #include "../gpu/program.h"
21 #include "../geometry.h"
89 void blend(
bool onScreen);
A very basic class for any image.
Handles a collection of common rendering programs of predefined types and shared operations among the...
static const char * TEXTURE_COORD_ATTRIB_NAME
texture coordinate attribute name in vertex shaders
Program & getCurrentProgram()
void paveBackground(GraphicPipeline *gpu, TextureHandler &content, GL::TextureHandler *output)
Fills background with a repeated texture taking 1 pixel of this texture per 1 pixel of the output.
Program * currentGlProgram
Program & getProgram(const GraphicPipeline *gpu, Operation program)
std::map< Operation, RenderingProgram > programs
void enableProgram(GraphicPipeline *gpu, Operation program)
Select and enable a common program.
static const char * TEXTURE_COORDINATES_ID
Texture coordinates shader variable name in vertex shader.
Operation
Standard rendering operations.
@ MASKED_BLEND_EXT
blending an image through a pixelwise mask (texture extension)
@ MASKED_8BIT_BLEND_EXT
blending an image through a 8 bit pixelwise mask (texture extension)
@ SHAPED_BLEND
shaping an image
@ BLEND_EXT
default blending using a texture extension
@ MASKED_8BIT_BLEND
blending an image through a 8 bit pixelwise mask
@ MASKED_BLEND
blending an image through a pixelwise mask
@ SHAPED_BLEND_EXT
shaping an image (texture extension)
@ BLEND
default blending of a single image
static const char * VERTEX_COORD_ATTRIB_NAME
vertex coordinate attribute name in vertex shaders
static const char * VERTICAL_FLIP_ID
Vertical flipping variable name in vertex shader.
const VertexShader & getDefaultVertexShader(const GraphicPipeline *gpu) const
VertexShader defaultVertexShader
static const char * DECLARE_TEXTURE_COORDINATES_IN_FRAG
Declaring texture coordinates in fragment shader.
static const char * MODELVIEW_MATRIX_ID
Modelview matrix (mapping input geometry to output) shader variable name in vertex shader.
void blend(bool onScreen)
Performs the blending operation.
RenderingPrograms(GraphicPipeline *gpu)
void bindMask(GraphicPipeline *gpu, AbstractBitmap &mask)
Binds a mask to a masked rendering program.
Internal low-level GPU control API.