[in] | destination_surface | The destination surface of the compositing operation. - Parameters:
-
[in] | destination_rect | The sub-rectangle of the destination surface to update. If NULL, the entire destination surface will be updated. - Parameters:
-
[in] | source_surface | The source surface for the compositing operation. The surface is treated as having four components: red, green, blue and alpha. Any missing components are treated as 1.0. For example, for an A8 VdpOutputSurface, alpha will come from the surface but red, green and blue will be treated as 1.0. If source_surface is NULL, all components will be treated as 1.0. Note that destination_surface and source_surface must have been allocated via the same VdpDevice. - Parameters:
-
[in] | source_rect | The sub-rectangle of the source surface to read from. If NULL, the entire source_surface will be read. Left/right and/or top/bottom co-ordinates may be swapped to flip the source. Any flip occurs prior to any requested rotation. Values from outside the source surface are valid and samples at those locations will be taken from the nearest edge. - Parameters:
-
[in] | colors | A pointer to an array of VdpColor objects. If the flag VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX is set, VDPAU will four entries from the array, and treat them as the colors corresponding to the upper-left, upper-right, lower-right and lower-left corners of the post-rotation source (i.e. indices 0, 1, 2 and 3 run clockwise from the upper left corner). If the flag VDP_OUTPUT_SURFACE_RENDER_COLOR_PER_VERTEX is not set, VDPAU will use the single VdpColor for all four corners. If colors is NULL then red, green, blue and alpha values of 1.0 will be used. - Parameters:
-
[in] | blend_state | If a blend state is provided, the blend state will be used for the composite operation. If NULL, blending is effectively disabled, which is equivalent to a blend equation of ADD, source blend factors of ONE and destination blend factors of ZERO. See VdpOutputSurfaceRenderBlendState for details regarding the mathematics of the blending operation. - Parameters:
-
[in] | flags | A set of flags influencing how the compositing operation works.
- Extract source_rect from source_surface.
|
- The extracted source is rotated 0, 90, 180 or 270 degrees according to the flags.
|
- The rotated source is component-wise multiplied by a smooth-shaded quad with a (potentially) different color at each vertex.
|
- The resulting rotated, smooth-shaded quad is scaled to the size of destination_rect and composited with destination_surface using the provided blend state.
|
|
|
|