Method
CoglFramebufferdraw_textured_rectangles
Declaration [src]
void
cogl_framebuffer_draw_textured_rectangles (
CoglFramebuffer* framebuffer,
CoglPipeline* pipeline,
const float* coordinates,
unsigned int n_rectangles
)
Description [src]
Draws a series of rectangles to framebuffer
with the given
pipeline
state in the same way that
cogl_framebuffer_draw_textured_rectangle()
does.
The position is the position before the rectangle has been transformed by the model-view matrix and the projection matrix.
This is a high level drawing api that can handle any kind of
CoglMetaTexture
texture such as CoglTexture2DSliced
textures
which may internally be comprised of multiple low-level textures.
This is unlike low-level drawing apis such as cogl_primitive_draw()
which only support low level texture types that are directly
supported by GPUs such as CoglTexture2D
.
The top left corner of the first rectangle is positioned at (coordinates[0], coordinates[1]) and the bottom right corner is positioned at (coordinates[2], coordinates[3]). The top left texture coordinate is (coordinates[4], coordinates[5]) and the bottom right texture coordinate is (coordinates[6], coordinates[7]). The coordinates for subsequent rectangles are defined similarly by the subsequent coordinates.
As a general rule for better performance its recommended to use
this this API instead of calling
cogl_framebuffer_draw_textured_rectangle()
separately for multiple
rectangles if all of the rectangles will be drawn together with the
same pipeline
state.
The given texture coordinates should always be normalized such that (0, 0) corresponds to the top left and (1, 1) corresponds to the bottom right. To map an entire texture across the rectangle pass in tex_coords[0]=0, tex_coords[1]=0, tex_coords[2]=1, tex_coords[3]=1.
Parameters
pipeline
-
Type:
CoglPipeline
A
CoglPipeline
state object.The data is owned by the caller of the method. coordinates
-
Type: An array of
float
An array containing groups of 8 float values: [x_1, y_1, x_2, y_2, s_1, t_1, s_2, t_2] that have the same meaning as the arguments for cogl_framebuffer_draw_textured_rectangle().
The data is owned by the caller of the method. n_rectangles
-
Type:
unsigned int
Number of rectangles to
coordinates
to draw.