Add methods to make use of GPU local texture data copying bypassing a roundtrip to the CPU and back, add sf::Texture::swap to enable swapping texture contents, fixed sf::Font::cleanup not shrinking its allocated pixel buffer storage when the user loads a new font using the same sf::Font object.
This commit is contained in:
parent
f053871a6c
commit
6b71456a55
7 changed files with 246 additions and 31 deletions
|
@ -276,6 +276,43 @@ public:
|
|||
////////////////////////////////////////////////////////////
|
||||
void update(const Uint8* pixels, unsigned int width, unsigned int height, unsigned int x, unsigned int y);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Update a part of this texture from another texture
|
||||
///
|
||||
/// Although the source texture can be smaller than this texture,
|
||||
/// this function is usually used for updating the whole texture.
|
||||
/// The other overload, which has (x, y) additional arguments,
|
||||
/// is more convenient for updating a sub-area of this texture.
|
||||
///
|
||||
/// No additional check is performed on the size of the passed
|
||||
/// texture, passing a texture bigger than this texture
|
||||
/// will lead to an undefined behavior.
|
||||
///
|
||||
/// This function does nothing if either texture was not
|
||||
/// previously created.
|
||||
///
|
||||
/// \param texture Source texture to copy to this texture
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
void update(const Texture& texture);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Update a part of this texture from another texture
|
||||
///
|
||||
/// No additional check is performed on the size of the texture,
|
||||
/// passing an invalid combination of texture size and offset
|
||||
/// will lead to an undefined behavior.
|
||||
///
|
||||
/// This function does nothing if either texture was not
|
||||
/// previously created.
|
||||
///
|
||||
/// \param texture Source texture to copy to this texture
|
||||
/// \param x X offset in this texture where to copy the source texture
|
||||
/// \param y Y offset in this texture where to copy the source texture
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
void update(const Texture& texture, unsigned int x, unsigned int y);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Update the texture from an image
|
||||
///
|
||||
|
@ -480,6 +517,14 @@ public:
|
|||
////////////////////////////////////////////////////////////
|
||||
Texture& operator =(const Texture& right);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Swap the contents of this texture with those of another
|
||||
///
|
||||
/// \param right Instance to swap with
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
void swap(Texture& right);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Get the underlying OpenGL handle of the texture.
|
||||
///
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue