2D texture object class. More...
#include <texture_2d.h>
Public Member Functions | |
Texture2D () | |
Constructs a null instance. | |
Texture2D (const std::shared_ptr< Texture_Impl > &impl) | |
Texture2D (GraphicContext &context, const PixelBuffer &image, bool is_srgb=false) | |
Texture2D (GraphicContext &context, const PixelBuffer &image, const Rect &src_rect, bool is_srgb=false) | |
Texture2D (GraphicContext &context, const Size &size, TextureFormat texture_format=TextureFormat::rgba8, int levels=1) | |
Texture2D (GraphicContext &context, const std::string &filename, const FileSystem &fs, const ImageImportDescription &import_desc={}) | |
Texture2D (GraphicContext &context, const std::string &fullname, const ImageImportDescription &import_desc={}) | |
Texture2D (GraphicContext &context, int width, int height, TextureFormat format=TextureFormat::rgba8, int levels=1) | |
Texture2D (GraphicContext &context, IODevice &file, const std::string &image_type, const ImageImportDescription &import_desc={}) | |
void | copy_image_from (GraphicContext &context, const Rect &pos, int level=0, TextureFormat texture_format=TextureFormat::rgba8) |
void | copy_image_from (GraphicContext &context, int level, TextureFormat texture_format=TextureFormat::rgba8) |
Copy image data from a graphic context. | |
void | copy_image_from (GraphicContext &context, int x, int y, int width, int height, int level=0, TextureFormat texture_format=TextureFormat::rgba8) |
void | copy_subimage_from (GraphicContext &context, const Point &offset, const Rect &pos, int level=0) |
void | copy_subimage_from (GraphicContext &context, int offset_x, int offset_y, int x, int y, int width, int height, int level=0) |
Copy sub image data from a graphic context. | |
float | get_dip_height () const |
Returns the device independent height of this texture. | |
Sizef | get_dip_size () const |
Returns the device independent size of this texture. | |
float | get_dip_width () const |
Returns the device independent width of this texture. | |
int | get_height () const |
Retrieves the actual height of the texture in the display. | |
float | get_pixel_ratio () const |
PixelBuffer | get_pixeldata (GraphicContext &gc, int level=0) const |
Retrieve image data from texture. | |
PixelBuffer | get_pixeldata (GraphicContext &gc, TextureFormat texture_format, int level=0) const |
Size | get_size () const |
Retrieves the actual size of the texture. | |
int | get_width () const |
Retrieves the actual width of the texture in the display. | |
TextureWrapMode | get_wrap_mode_s () const |
Get the texture wrap mode for the s coordinate. | |
TextureWrapMode | get_wrap_mode_t () const |
Get the texture wrap mode for the t coordinate. | |
void | set_image (GraphicContext &context, const PixelBuffer &image, int level=0) |
void | set_pixel_ratio (float ratio) |
Sets the display pixel ratio for this texture. | |
void | set_subimage (GraphicContext &context, const Point &point, const PixelBuffer &image, const Rect &src_rect, int level=0) |
void | set_subimage (GraphicContext &context, int x, int y, const PixelBuffer &image, const Rect &src_rect, int level=0) |
void | set_wrap_mode (TextureWrapMode wrap_s, TextureWrapMode wrap_t) |
![]() | |
Texture () | |
Constructs a null instance. | |
Texture (const std::shared_ptr< Texture_Impl > &impl) | |
Constructs a texture from an implementation. | |
Texture (GraphicContext &gc, PixelBufferSet pixelbuffer_set) | |
Constructs a texture as described in a pixelbuffer set. | |
Texture (std::unique_ptr< TextureProvider > provider) | |
Constructs a texture from a texture provider. | |
virtual | ~Texture () |
void | generate_mipmap () |
Generate the mipmap. | |
int | get_base_level () const |
Get the texture base level. | |
CompareFunction | get_compare_function () const |
Get the texture compare function. | |
TextureCompareMode | get_compare_mode () const |
Get the texture compare mode. | |
std::weak_ptr< Texture_Impl > | get_impl () const |
Get the implementation weakptr. | |
float | get_lod_bias () const |
Get the level of detail bias constant. | |
TextureFilter | get_mag_filter () const |
Get the texture magnification filter. | |
int | get_max_level () const |
Get the texture max level. | |
float | get_max_lod () const |
Get the maximum level of detail. | |
TextureFilter | get_min_filter () const |
Get the texture minification filter. | |
float | get_min_lod () const |
Get the minimum level of detail. | |
TextureProvider * | get_provider () const |
Get Provider. | |
bool | is_null () const |
Returns true if this object is invalid. | |
bool | is_resident () const |
Returns true if texture is resident in texture memory. | |
operator bool () const | |
bool | operator!= (const Texture &other) const |
Inequality operator. | |
bool | operator< (const Texture &other) const |
Less than operator. | |
bool | operator== (const Texture &other) const |
Equality operator. | |
void | set_base_level (int base_level) |
Sets the texture base level texture parameter. | |
void | set_lod_bias (float lod_bias) |
Sets the level of detail bias constant. | |
void | set_mag_filter (TextureFilter filter) |
Set the magnification filter. | |
void | set_max_anisotropy (float max_anisotropy) |
Set the maximum degree of anisotropy. | |
void | set_max_level (int max_level) |
Sets the texture max level texture parameter. | |
void | set_max_lod (float max_lod) |
Set the maximum level of detail texture parameter. | |
void | set_min_filter (TextureFilter filter) |
Set the minification filter. | |
void | set_min_lod (float min_lod) |
Set the minimum level of detail texture parameter. | |
void | set_texture_compare (TextureCompareMode mode, CompareFunction func) |
Sets the texture compare mode and compare function texture parameters. | |
void | throw_if_null () const |
Throw an exception if this object is invalid. | |
Texture1D | to_texture_1d () const |
Dynamic cast to Texture1D. | |
Texture1DArray | to_texture_1d_array () const |
Dynamic cast to Texture1DArray. | |
Texture2D | to_texture_2d () const |
Dynamic cast to Texture2D. | |
Texture2DArray | to_texture_2d_array () const |
Dynamic cast to Texture2DArray. | |
Texture3D | to_texture_3d () const |
Dynamic cast to Texture3D. | |
TextureCube | to_texture_cube () const |
Dynamic cast to TextureCube. | |
TextureCubeArray | to_texture_cube_array () const |
Dynamic cast to TextureCubeArray. | |
Additional Inherited Members | |
![]() | |
static Texture | load (GraphicContext &gc, const std::string &id, const XMLResourceDocument &doc, const ImageImportDescription &import_desc=ImageImportDescription()) |
Loads a Texture from a XML resource definition. | |
static Resource< Texture > | resource (GraphicContext &gc, const std::string &id, const ResourceManager &resources) |
Retrieves a Texture resource from the resource manager. | |
![]() | |
std::shared_ptr< Texture_Impl > | impl |
2D texture object class.
clan::Texture2D::Texture2D | ( | ) |
Constructs a null instance.
|
inline |
Constructs a texture from an implementation.
impl | The Texture object implementation. |
References clan::Texture::Texture(), and clan::Texture::impl.
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
int | width, | ||
int | height, | ||
TextureFormat | format = TextureFormat::rgba8, | ||
int | levels = 1 ) |
Constructs a new Texture object.
context | Graphic context to construct the texture on. |
width | Width of the new texture. |
height | Height of the new texture. |
format | Data format of the new texture. |
levels | Number of mipmap levels for the new texture. Setting this to 0 enables all levels. |
References clan::rgba8.
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
const Size & | size, | ||
TextureFormat | texture_format = TextureFormat::rgba8, | ||
int | levels = 1 ) |
Constructs a new Texture object.
context | Graphic context to construct the texture on. |
size | Size of the new texture. |
format | Data format of the new texture. |
levels | Number of mipmap levels for the new texture. Setting this to 0 enables all levels. |
References clan::rgba8.
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
const std::string & | fullname, | ||
const ImageImportDescription & | import_desc = {} ) |
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
const std::string & | filename, | ||
const FileSystem & | fs, | ||
const ImageImportDescription & | import_desc = {} ) |
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
IODevice & | file, | ||
const std::string & | image_type, | ||
const ImageImportDescription & | import_desc = {} ) |
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
const PixelBuffer & | image, | ||
bool | is_srgb = false ) |
References clan::image.
clan::Texture2D::Texture2D | ( | GraphicContext & | context, |
const PixelBuffer & | image, | ||
const Rect & | src_rect, | ||
bool | is_srgb = false ) |
References clan::image.
void clan::Texture2D::copy_image_from | ( | GraphicContext & | context, |
const Rect & | pos, | ||
int | level = 0, | ||
TextureFormat | texture_format = TextureFormat::rgba8 ) |
References clan::rgba8.
void clan::Texture2D::copy_image_from | ( | GraphicContext & | context, |
int | level, | ||
TextureFormat | texture_format = TextureFormat::rgba8 ) |
Copy image data from a graphic context.
References clan::rgba8.
void clan::Texture2D::copy_image_from | ( | GraphicContext & | context, |
int | x, | ||
int | y, | ||
int | width, | ||
int | height, | ||
int | level = 0, | ||
TextureFormat | texture_format = TextureFormat::rgba8 ) |
References clan::rgba8, clan::x, and clan::y.
void clan::Texture2D::copy_subimage_from | ( | GraphicContext & | context, |
const Point & | offset, | ||
const Rect & | pos, | ||
int | level = 0 ) |
void clan::Texture2D::copy_subimage_from | ( | GraphicContext & | context, |
int | offset_x, | ||
int | offset_y, | ||
int | x, | ||
int | y, | ||
int | width, | ||
int | height, | ||
int | level = 0 ) |
|
inline |
Returns the device independent height of this texture.
References get_height(), and get_pixel_ratio().
Referenced by get_dip_size().
|
inline |
Returns the device independent size of this texture.
References get_dip_height(), and get_dip_width().
|
inline |
Returns the device independent width of this texture.
References get_pixel_ratio(), and get_width().
Referenced by get_dip_size().
int clan::Texture2D::get_height | ( | ) | const |
Retrieves the actual height of the texture in the display.
Referenced by get_dip_height(), and get_size().
float clan::Texture2D::get_pixel_ratio | ( | ) | const |
Retrieves the pixel ratio of this texture.
Referenced by get_dip_height(), and get_dip_width().
PixelBuffer clan::Texture2D::get_pixeldata | ( | GraphicContext & | gc, |
int | level = 0 ) const |
Retrieve image data from texture.
PixelBuffer clan::Texture2D::get_pixeldata | ( | GraphicContext & | gc, |
TextureFormat | texture_format, | ||
int | level = 0 ) const |
Retrieve image data from this texture.
format | Output data format. |
level | Mipmap level of the texture to retrieve data from. |
|
inline |
Retrieves the actual size of the texture.
References get_height(), and get_width().
int clan::Texture2D::get_width | ( | ) | const |
Retrieves the actual width of the texture in the display.
Referenced by get_dip_width(), and get_size().
TextureWrapMode clan::Texture2D::get_wrap_mode_s | ( | ) | const |
Get the texture wrap mode for the s coordinate.
TextureWrapMode clan::Texture2D::get_wrap_mode_t | ( | ) | const |
Get the texture wrap mode for the t coordinate.
void clan::Texture2D::set_image | ( | GraphicContext & | context, |
const PixelBuffer & | image, | ||
int | level = 0 ) |
Upload image to this texture.
context | Graphic context to use for the request. |
image | Image to upload. |
level | Mipmap level-of-detail number. |
References clan::image.
void clan::Texture2D::set_pixel_ratio | ( | float | ratio | ) |
Sets the display pixel ratio for this texture.
void clan::Texture2D::set_subimage | ( | GraphicContext & | context, |
const Point & | point, | ||
const PixelBuffer & | image, | ||
const Rect & | src_rect, | ||
int | level = 0 ) |
Upload image to sub-texture.
context | Graphic context to use for the request. |
point | Point in the texture to write the new sub-texture image. onto. |
image | Image to upload. |
level | Mipmap level-of-detail number. |
References clan::image, and clan::point.
void clan::Texture2D::set_subimage | ( | GraphicContext & | context, |
int | x, | ||
int | y, | ||
const PixelBuffer & | image, | ||
const Rect & | src_rect, | ||
int | level = 0 ) |
Upload image to sub-texture.
context | Graphic context to use for the request. |
x | The horizontal point in the texture to write the new sub-texture image onto. |
y | The vertical point in the texture to write the new sub-texture image onto. |
image | Image to upload. |
level | Mipmap level-of-detail number. |
References clan::image, clan::x, and clan::y.
void clan::Texture2D::set_wrap_mode | ( | TextureWrapMode | wrap_s, |
TextureWrapMode | wrap_t ) |