RenderTexture#
Functions
-
sfRenderTexture *sfRenderTexture_create(unsigned int width, unsigned int height, sfBool depthBuffer)#
Construct a new render texture.
- Deprecated:
Use sfRenderTexture_createWithSettings instead.
- Parameters:
width – Width of the render texture
height – Height of the render texture
depthBuffer – Do you want a depth-buffer attached? (useful only if you’re doing 3D OpenGL on the rendertexture)
- Returns:
A new sfRenderTexture object, or NULL if it failed
-
sfRenderTexture *sfRenderTexture_createWithSettings(unsigned int width, unsigned int height, const sfContextSettings *settings)#
Construct a new render texture.
- Parameters:
width – Width of the render texture
height – Height of the render texture
settings – Settings of the render texture
- Returns:
A new sfRenderTexture object, or NULL if it failed
-
void sfRenderTexture_destroy(sfRenderTexture *renderTexture)#
Destroy an existing render texture.
- Parameters:
renderTexture – Render texture to destroy
-
sfVector2u sfRenderTexture_getSize(const sfRenderTexture *renderTexture)#
Get the size of the rendering region of a render texture.
- Parameters:
renderTexture – Render texture object
- Returns:
Size in pixels
-
sfBool sfRenderTexture_setActive(sfRenderTexture *renderTexture, sfBool active)#
Activate or deactivate a render texture as the current target for rendering.
- Parameters:
renderTexture – Render texture object
active – sfTrue to activate, sfFalse to deactivate
- Returns:
True if operation was successful, false otherwise
-
void sfRenderTexture_display(sfRenderTexture *renderTexture)#
Update the contents of the target texture.
- Parameters:
renderTexture – Render texture object
-
void sfRenderTexture_clear(sfRenderTexture *renderTexture, sfColor color)#
Clear the rendertexture with the given color.
- Parameters:
renderTexture – Render texture object
color – Fill color
-
void sfRenderTexture_setView(sfRenderTexture *renderTexture, const sfView *view)#
Change the current active view of a render texture.
- Parameters:
renderTexture – Render texture object
view – Pointer to the new view
-
const sfView *sfRenderTexture_getView(const sfRenderTexture *renderTexture)#
Get the current active view of a render texture.
- Parameters:
renderTexture – Render texture object
- Returns:
Current active view
-
const sfView *sfRenderTexture_getDefaultView(const sfRenderTexture *renderTexture)#
Get the default view of a render texture.
- Parameters:
renderTexture – Render texture object
- Returns:
Default view of the rendertexture
-
sfIntRect sfRenderTexture_getViewport(const sfRenderTexture *renderTexture, const sfView *view)#
Get the viewport of a view applied to this target.
- Parameters:
renderTexture – Render texture object
view – Target view
- Returns:
Viewport rectangle, expressed in pixels in the current target
-
sfVector2f sfRenderTexture_mapPixelToCoords(const sfRenderTexture *renderTexture, sfVector2i point, const sfView *view)#
Convert a point from texture coordinates to world coordinates.
This function finds the 2D position that matches the given pixel of the render-texture. In other words, it does the inverse of what the graphics card does, to find the initial position of a rendered pixel.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-texture, this assertion is not true anymore, ie. a point located at (10, 50) in your render-texture may map to the point (150, 75) in your 2D world — if the view is translated by (140, 25).
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-texture.
- Parameters:
renderTexture – Render texture object
point – Pixel to convert
view – The view to use for converting the point
- Returns:
The converted point, in “world” units
-
sfVector2i sfRenderTexture_mapCoordsToPixel(const sfRenderTexture *renderTexture, sfVector2f point, const sfView *view)#
Convert a point from world coordinates to texture coordinates.
This function finds the pixel of the render-texture that matches the given 2D point. In other words, it goes through the same process as the graphics card, to compute the final position of a rendered point.
Initially, both coordinate systems (world units and target pixels) match perfectly. But if you define a custom view or resize your render-texture, this assertion is not true anymore, ie. a point located at (150, 75) in your 2D world may map to the pixel (10, 50) of your render-texture — if the view is translated by (140, 25).
This version uses a custom view for calculations, see the other overload of the function if you want to use the current view of the render-texture.
- Parameters:
renderTexture – Render texture object
point – Point to convert
view – The view to use for converting the point
- Returns:
The converted point, in target coordinates (pixels)
-
void sfRenderTexture_drawSprite(sfRenderTexture *renderTexture, const sfSprite *object, const sfRenderStates *states)#
Draw a drawable object to the render-target.
- Parameters:
renderTexture – Render texture object
object – Object to draw
states – Render states to use for drawing (NULL to use the default states)
-
void sfRenderTexture_drawText(sfRenderTexture *renderTexture, const sfText *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawShape(sfRenderTexture *renderTexture, const sfShape *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawCircleShape(sfRenderTexture *renderTexture, const sfCircleShape *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawConvexShape(sfRenderTexture *renderTexture, const sfConvexShape *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawRectangleShape(sfRenderTexture *renderTexture, const sfRectangleShape *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawVertexArray(sfRenderTexture *renderTexture, const sfVertexArray *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawVertexBuffer(sfRenderTexture *renderTexture, const sfVertexBuffer *object, const sfRenderStates *states)#
-
void sfRenderTexture_drawVertexBufferRange(sfRenderTexture *renderTexture, const sfVertexBuffer *object, size_t firstVertex, size_t vertexCount, const sfRenderStates *states)#
Draw primitives defined by a vertex buffer.
- Parameters:
renderTexture – render texture object
vertexBuffer – Vertex buffer object to draw
firstVertex – Index of the first vertex to render
vertexCount – Number of vertices to render
states – Render states to use for drawing
-
void sfRenderTexture_drawPrimitives(sfRenderTexture *renderTexture, const sfVertex *vertices, size_t vertexCount, sfPrimitiveType type, const sfRenderStates *states)#
Draw primitives defined by an array of vertices to a render texture.
- Parameters:
renderTexture – Render texture object
vertices – Pointer to the vertices
vertexCount – Number of vertices in the array
type – Type of primitives to draw
states – Render states to use for drawing (NULL to use the default states)
-
void sfRenderTexture_pushGLStates(sfRenderTexture *renderTexture)#
Save the current OpenGL render states and matrices.
This function can be used when you mix SFML drawing and direct OpenGL rendering. Combined with popGLStates, it ensures that:
SFML’s internal states are not messed up by your OpenGL code
your OpenGL states are not modified by a call to a SFML function
- Parameters:
renderTexture – Render texture object
-
void sfRenderTexture_popGLStates(sfRenderTexture *renderTexture)#
Restore the previously saved OpenGL render states and matrices.
See the description of pushGLStates to get a detailed description of these functions.
- Parameters:
renderTexture – Render texture object
-
void sfRenderTexture_resetGLStates(sfRenderTexture *renderTexture)#
Reset the internal OpenGL states so that the target is ready for drawing.
This function can be used when you mix SFML drawing and direct OpenGL rendering, if you choose not to use pushGLStates/popGLStates. It makes sure that all OpenGL states needed by SFML are set, so that subsequent sfRenderTexture_draw*() calls will work as expected.
- Parameters:
renderTexture – Render texture object
-
const sfTexture *sfRenderTexture_getTexture(const sfRenderTexture *renderTexture)#
Get the target texture of a render texture.
- Parameters:
renderTexture – Render texture object
- Returns:
Pointer to the target texture
-
unsigned int sfRenderTexture_getMaximumAntialiasingLevel()#
Get the maximum anti-aliasing level supported by the system.
- Returns:
The maximum anti-aliasing level supported by the system
-
void sfRenderTexture_setSmooth(sfRenderTexture *renderTexture, sfBool smooth)#
Enable or disable the smooth filter on a render texture.
- Parameters:
renderTexture – Render texture object
smooth – sfTrue to enable smoothing, sfFalse to disable it
-
sfBool sfRenderTexture_isSmooth(const sfRenderTexture *renderTexture)#
Tell whether the smooth filter is enabled or not for a render texture.
- Parameters:
renderTexture – Render texture object
- Returns:
sfTrue if smoothing is enabled, sfFalse if it is disabled
-
void sfRenderTexture_setRepeated(sfRenderTexture *renderTexture, sfBool repeated)#
Enable or disable texture repeating.
- Parameters:
renderTexture – Render texture object
repeated – sfTrue to enable repeating, sfFalse to disable it
-
sfBool sfRenderTexture_isRepeated(const sfRenderTexture *renderTexture)#
Tell whether the texture is repeated or not.
- Parameters:
renderTexture – Render texture object
- Returns:
sfTrue if repeat mode is enabled, sfFalse if it is disabled
-
sfBool sfRenderTexture_generateMipmap(sfRenderTexture *renderTexture)#
Generate a mipmap using the current texture data.
This function is similar to sfTexture_generateMipmap and operates on the texture used as the target for drawing. Be aware that any draw operation may modify the base level image data. For this reason, calling this function only makes sense after all drawing is completed and display has been called. Not calling display after subsequent drawing will lead to undefined behavior if a mipmap had been previously generated.
- Returns:
sfTrue if mipmap generation was successful, sfFalse if unsuccessful