Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::Texture Class Referenceabstract
+ Inheritance diagram for inviwo::Texture:

Public Member Functions

virtual Textureclone () const =0
 
void download (void *data) const
 
void downloadToPBO () const
 
const DataFormatBasegetDataFormat () const
 
GLenum getDataType () const
 
GLenum getFiltering () const
 
GLenum getFormat () const
 
GLenum getInternalFormat () const
 
InterpolationType getInterpolation () const
 
GLint getLevel () const
 
GLuint getNChannels () const
 
virtual size_t getNumberOfValues () const =0
 
GLuint getSizeInBytes () const
 
SwizzleMask getSwizzleMask () const
 
void getWrapping (std::span< GLenum > wrapping) const
 
void loadFromPBO (const Texture *)
 
Textureoperator= (const Texture &other)
 
Textureoperator= (Texture &&other)
 
void setInterpolation (InterpolationType interpolation)
 
void setSwizzleMask (SwizzleMask mask)
 
void setWrapping (std::span< const GLenum > wrapping)
 
 Texture (const Texture &other)
 
 Texture (GLenum target, GLenum format, GLenum internalformat, GLenum dataType, GLenum filtering, const SwizzleMask &swizzleMask, std::span< const GLenum > wrapping, GLint level)
 
 Texture (GLenum target, GLFormat glFormat, GLenum filtering, const SwizzleMask &swizzleMask, std::span< const GLenum > wrapping, GLint level)
 
 Texture (Texture &&other)
 
virtual void upload (const void *data)=0
 
- Public Member Functions inherited from inviwo::TextureBase
void bind () const
 
GLuint getID () const
 
GLenum getTarget () const
 
TextureBaseoperator= (const TextureBase &other)
 
TextureBaseoperator= (TextureBase &&other)
 
 TextureBase (const TextureBase &other)
 
 TextureBase (GLenum target)
 
 TextureBase (TextureBase &&other)
 
void unbind () const
 
- Public Member Functions inherited from inviwo::Observable< TextureObserver >
void addObserver (TextureObserver *observer)
 
bool isObservedBy (TextureObserver *observer) const
 
 Observable (const Observable< TextureObserver > &other)
 
 Observable (Observable< TextureObserver > &&other) noexcept
 
Observable< TextureObserver > & operator= (const Observable< TextureObserver > &other)
 
Observable< TextureObserver > & operator= (Observable< TextureObserver > &&other) noexcept
 
void removeObserver (TextureObserver *observer)
 
virtual void startBlockingNotifications () override final
 
virtual void stopBlockingNotifications () override final
 

Static Public Member Functions

static size_t maxTexture3DSize ()
 
static size_t maxTextureArraySize ()
 
static size_t maxTextureSize ()
 

Protected Member Functions

void bindFromPBO () const
 
void bindToPBO () const
 
void setPBOAsInvalid ()
 
void setupAsyncReadBackPBO () const
 
void unbindFromPBO () const
 
void unbindToPBO () const
 
- Protected Member Functions inherited from inviwo::Observable< TextureObserver >
void forEachObserver (C callback)
 
- Protected Member Functions inherited from inviwo::ObservableInterface
void addObservationHelper (Observer *observer)
 
void removeObservationHelper (Observer *observer)
 

Static Protected Member Functions

static GLuint channels (GLenum format)
 
static size_t dataTypeSize (GLenum dataType)
 
static size_t targetDims (GLenum target)
 

Protected Attributes

GLenum dataType_
 
GLenum format_
 
GLenum internalformat_
 
GLint level_
 
std::mutex syncMutex
 
GLsync syncObj = 0
 
- Protected Attributes inherited from inviwo::TextureBase
GLuint id_
 
GLenum target_
 

Static Protected Attributes

static constexpr std::array< std::pair< GLenum, size_t >, 5 > targetToDim
 
static constexpr std::array< GLenum, 3 > wrapNames
 

Member Data Documentation

◆ targetToDim

constexpr std::array<std::pair<GLenum, size_t>, 5> inviwo::Texture::targetToDim
staticconstexprprotected
Initial value:
{
{{GL_TEXTURE_1D, 1},
{GL_TEXTURE_2D, 2},
{GL_TEXTURE_3D, 3},
{GL_TEXTURE_1D_ARRAY, 1},
{GL_TEXTURE_2D_ARRAY, 2}}}

◆ wrapNames

constexpr std::array<GLenum, 3> inviwo::Texture::wrapNames
staticconstexprprotected
Initial value:
{GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T,
GL_TEXTURE_WRAP_R}

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