mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-27 13:36:12 +01:00
Added sRGB support to sfTexture.
This commit is contained in:
1 parent
490a21fdff
commit
784b20038f
2 files changed
+49
No files matched your search
@@ -196,6 +196,41 @@ CSFML_GRAPHICS_API void sfTexture_setSmooth(sfTexture* texture, sfBool smooth);
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_GRAPHICS_API sfBool sfTexture_isSmooth(const sfTexture* texture);
|
CSFML_GRAPHICS_API sfBool sfTexture_isSmooth(const sfTexture* texture);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Enable or disable conversion from sRGB
|
||||||
|
///
|
||||||
|
/// When providing texture data from an image file or memory, it can
|
||||||
|
/// either be stored in a linear color space or an sRGB color space.
|
||||||
|
/// Most digital images account for gamma correction already, so they
|
||||||
|
/// would need to be "uncorrected" back to linear color space before
|
||||||
|
/// being processed by the hardware. The hardware can automatically
|
||||||
|
/// convert it from the sRGB color space to a linear color space when
|
||||||
|
/// it gets sampled. When the rendered image gets output to the final
|
||||||
|
/// framebuffer, it gets converted back to sRGB.
|
||||||
|
///
|
||||||
|
/// After enabling or disabling sRGB conversion, make sure to reload
|
||||||
|
/// the texture data in order for the setting to take effect.
|
||||||
|
///
|
||||||
|
/// This option is only useful in conjunction with an sRGB capable
|
||||||
|
/// framebuffer. This can be requested during window creation.
|
||||||
|
///
|
||||||
|
/// \param sRgb True to enable sRGB conversion, false to disable it
|
||||||
|
///
|
||||||
|
/// \see sfTexture_isSrgb
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API void sfTexture_setSrgb(sfTexture* texture, sfBool sRgb);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Tell whether the texture source is converted from sRGB or not
|
||||||
|
///
|
||||||
|
/// \return True if the texture source is converted from sRGB, false if not
|
||||||
|
///
|
||||||
|
/// \see sfTexture_setSrgb
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_GRAPHICS_API sfBool sfTexture_isSrgb(const sfTexture* texture);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Enable or disable repeating for a texture
|
/// \brief Enable or disable repeating for a texture
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -225,6 +225,20 @@ sfBool sfTexture_isSmooth(const sfTexture* texture)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
void sfTexture_setSrgb(sfTexture* texture, sfBool sRgb)
|
||||||
|
{
|
||||||
|
CSFML_CALL_PTR(texture, setSrgb(sRgb == sfTrue));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
sfBool sfTexture_isSrgb(const sfTexture* texture)
|
||||||
|
{
|
||||||
|
CSFML_CALL_PTR_RETURN(texture, isSrgb(), sfFalse);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void sfTexture_setRepeated(sfTexture* texture, sfBool repeated)
|
void sfTexture_setRepeated(sfTexture* texture, sfBool repeated)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user