class glw::Texture2D
Overview
Two dimensional texture. Used mostly to store color images or results of internal rendering. More…
#include <Texture.h> class Texture2D: public glw::Texture { public: // construction Texture2D(const uint32_t width, const uint32_t height, const gl::GLenum internal_format = gl::GLenum::GL_RGBA8); Texture2D(const uint32_t width, const uint32_t height, const uint32_t layer_count, const gl::GLenum internal_format); virtual ~Texture2D(); // methods static PTexture2D Create(const uint32_t width, const uint32_t height, const gl::GLenum internal_format = gl::GLenum::GL_RGBA8); static PTexture2D CreateLayered(const uint32_t width, const uint32_t height, const uint32_t layer_count, const gl::GLenum internal_format = gl::GLenum::GL_RGBA8); static PTexture2D CreateFromFile(const std::string& image_file_name, const bool load_as_float = false); uint32_t GetWidth(); uint32_t GetHeight(); glm::uvec2 GetResolution(); uint32_t GetLayerCount(); void SetData(const gl::GLenum data_format, const gl::GLenum data_type, const void* data_ptr); void SetDataLayer(const uint32_t layer, const gl::GLenum data_format, const gl::GLenum data_type, const void* data_ptr); bool SaveToFile(const std::string& image_file_name); protected: // methods virtual gl::GLenum GetTarget(); virtual void ReserveMemory(); };
Inherited Members
public: // methods void Initialize(const gl::GLenum internal_format); void Enable(); void Disable(); void Unbind(); void Bind(); void Bind(const uint8_t binding_unit); gl::GLuint GetID(); gl::GLenum GetInternalFormat(); void SetFiltering(const Filtering mag_min); virtual void SetFiltering(const Filtering mag, const Filtering min); void SetWrapping(const Wrapping wrap_st); virtual void SetWrapping(const Wrapping wrap_s, const Wrapping wrap_t); virtual void SetParameteri(const gl::GLenum pname, const gl::GLint param); void SetParameterfv(const gl::GLenum pname, const gl::GLfloat* param); protected: // methods virtual gl::GLenum GetTarget() = 0; virtual void ReserveMemory() = 0;
Detailed Documentation
Two dimensional texture. Used mostly to store color images or results of internal rendering.
Construction
Texture2D(const uint32_t width, const uint32_t height, const gl::GLenum internal_format = gl::GLenum::GL_RGBA8)
Creates a single 2D texture.
Texture2D(const uint32_t width, const uint32_t height, const uint32_t layer_count, const gl::GLenum internal_format)
Creates array of 2D textures, represented as layers.