3D texture object class. More...

#include <texture_3d.h>

+ Inheritance diagram for clan::Texture3D:

Public Member Functions

 Texture3D ()
 Constructs a null instance.
 
 Texture3D (const std::shared_ptr< Texture_Impl > &impl)
 Constructs a texture from an implementation.
 
 Texture3D (GraphicContext &context, const Vec3i &size, TextureFormat texture_format=TextureFormat::rgba8, int levels=1)
 Constructs a Texture.
 
 Texture3D (GraphicContext &context, int width, int height, int depth, TextureFormat texture_format=TextureFormat::rgba8, int levels=1)
 Constructs a 3D Texture.
 
int get_depth () const
 Get the texture depth.
 
int get_height () const
 Get the texture height.
 
Vec3i get_size () const
 Get the texture size.
 
int get_width () const
 Get the texture width.
 
TextureWrapMode get_wrap_mode_r () const
 Get the texture wrap mode for the r coordinate.
 
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, PixelBuffer &image, int depth, int level=0)
 Upload image to texture.
 
void set_subimage (GraphicContext &context, int x, int y, int z, const PixelBuffer &image, const Rect &src_rect, int level=0)
 Upload image to sub texture.
 
void set_wrap_mode (TextureWrapMode wrap_s, TextureWrapMode wrap_t, TextureWrapMode wrap_r)
 Set the texture wrapping mode.
 
- Public Member Functions inherited from clan::Texture
 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 (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.
 
TextureProviderget_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 Public Member Functions inherited from clan::Texture
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< Textureresource (GraphicContext &gc, const std::string &id, const ResourceManager &resources)
 Retrieves a Texture resource from the resource manager.
 
- Protected Attributes inherited from clan::Texture
std::shared_ptr< Texture_Impl > impl
 

Detailed Description

3D texture object class.

Constructor & Destructor Documentation

◆ Texture3D() [1/4]

clan::Texture3D::Texture3D ( )

Constructs a null instance.

◆ Texture3D() [2/4]

clan::Texture3D::Texture3D ( const std::shared_ptr< Texture_Impl > & impl)
inline

Constructs a texture from an implementation.

Parameters
impl= The implementation

◆ Texture3D() [3/4]

clan::Texture3D::Texture3D ( GraphicContext & context,
int width,
int height,
int depth,
TextureFormat texture_format = TextureFormat::rgba8,
int levels = 1 )

Constructs a 3D Texture.

Parameters
context= Graphic Context
width= value
height= value
depth= value
internal_format= Texture Format
levels= Mipmap levels for the texture. 0 = all levels

◆ Texture3D() [4/4]

clan::Texture3D::Texture3D ( GraphicContext & context,
const Vec3i & size,
TextureFormat texture_format = TextureFormat::rgba8,
int levels = 1 )

Constructs a Texture.

Parameters
context= Graphic Context
size= Size
internal_format= Texture Format
levels= Mipmap levels for the texture. 0 = all levels

Member Function Documentation

◆ get_depth()

int clan::Texture3D::get_depth ( ) const

Get the texture depth.

◆ get_height()

int clan::Texture3D::get_height ( ) const

Get the texture height.

◆ get_size()

Vec3i clan::Texture3D::get_size ( ) const

Get the texture size.

◆ get_width()

int clan::Texture3D::get_width ( ) const

Get the texture width.

◆ get_wrap_mode_r()

TextureWrapMode clan::Texture3D::get_wrap_mode_r ( ) const

Get the texture wrap mode for the r coordinate.

◆ get_wrap_mode_s()

TextureWrapMode clan::Texture3D::get_wrap_mode_s ( ) const

Get the texture wrap mode for the s coordinate.

◆ get_wrap_mode_t()

TextureWrapMode clan::Texture3D::get_wrap_mode_t ( ) const

Get the texture wrap mode for the t coordinate.

◆ set_image()

void clan::Texture3D::set_image ( GraphicContext & context,
PixelBuffer & image,
int depth,
int level = 0 )

Upload image to texture.

Parameters
contextGraphic context to use for the request
imageImage to upload.
levelMipmap level-of-detail number.

◆ set_subimage()

void clan::Texture3D::set_subimage ( GraphicContext & context,
int x,
int y,
int z,
const PixelBuffer & image,
const Rect & src_rect,
int level = 0 )

Upload image to sub texture.

Parameters
contextGraphic context to use for the request
imageImage to upload.
levelMipmap level-of-detail number.

◆ set_wrap_mode()

void clan::Texture3D::set_wrap_mode ( TextureWrapMode wrap_s,
TextureWrapMode wrap_t,
TextureWrapMode wrap_r )

Set the texture wrapping mode.


The documentation for this class was generated from the following file: