openMSX
Public Member Functions | Protected Attributes | Friends | List of all members
gl::Texture Class Reference

Most basic/generic texture: only contains a texture ID. More...

#include <GLUtil.hh>

Inheritance diagram for gl::Texture:
Inheritance graph
[legend]

Public Member Functions

 Texture (const Texture &)=delete
 
Textureoperator= (const Texture &)=delete
 
 Texture (bool interpolation=false, bool wrap=false)
 Allocate a openGL texture name and enable/disable interpolation. More...
 
 Texture (Null)
 Create null-handle (not yet allocate an openGL handle). More...
 
 ~Texture ()
 Release openGL texture name. More...
 
 Texture (Texture &&other) noexcept
 Move constructor and assignment. More...
 
Textureoperator= (Texture &&other) noexcept
 
void allocate ()
 Allocate an openGL texture name. More...
 
void reset ()
 Release openGL texture name. More...
 
GLuint get () const
 Returns the underlying openGL handler id. More...
 
void bind ()
 Makes this texture the active GL texture. More...
 
void setInterpolation (bool interpolation)
 Enable/disable bilinear interpolation for this texture. More...
 
void setWrapMode (bool wrap)
 

Protected Attributes

GLuint textureId
 

Friends

class FrameBufferObject
 

Detailed Description

Most basic/generic texture: only contains a texture ID.

Current implementation always assumes 2D textures.

Definition at line 35 of file GLUtil.hh.

Constructor & Destructor Documentation

◆ Texture() [1/4]

gl::Texture::Texture ( const Texture )
delete

◆ Texture() [2/4]

gl::Texture::Texture ( bool  interpolation = false,
bool  wrap = false 
)
explicit

Allocate a openGL texture name and enable/disable interpolation.

Definition at line 36 of file GLUtil.cc.

◆ Texture() [3/4]

gl::Texture::Texture ( Null  )
inlineexplicit

Create null-handle (not yet allocate an openGL handle).

Definition at line 45 of file GLUtil.hh.

◆ ~Texture()

gl::Texture::~Texture ( )
inline

Release openGL texture name.

Definition at line 48 of file GLUtil.hh.

◆ Texture() [4/4]

gl::Texture::Texture ( Texture &&  other)
inlinenoexcept

Move constructor and assignment.

Definition at line 51 of file GLUtil.hh.

Member Function Documentation

◆ allocate()

void gl::Texture::allocate ( )

Allocate an openGL texture name.

Definition at line 43 of file GLUtil.cc.

Referenced by openmsx::SDLGLOutputSurface::init().

◆ bind()

void gl::Texture::bind ( )
inline

◆ get()

GLuint gl::Texture::get ( ) const
inline

Returns the underlying openGL handler id.

0 iff no openGL texture is allocated.

Definition at line 70 of file GLUtil.hh.

Referenced by openmsx::GLImage::draw().

◆ operator=() [1/2]

Texture& gl::Texture::operator= ( const Texture )
delete

◆ operator=() [2/2]

Texture& gl::Texture::operator= ( Texture &&  other)
inlinenoexcept

Definition at line 56 of file GLUtil.hh.

References swap().

◆ reset()

void gl::Texture::reset ( )

Release openGL texture name.

Definition at line 48 of file GLUtil.cc.

◆ setInterpolation()

void gl::Texture::setInterpolation ( bool  interpolation)

Enable/disable bilinear interpolation for this texture.

IOW selects between GL_NEAREST or GL_LINEAR filtering.

Definition at line 54 of file GLUtil.cc.

Referenced by openmsx::GLPostProcessor::GLPostProcessor(), openmsx::SDLGLOutputSurface::init(), openmsx::GLSimpleScaler::scaleImage(), openmsx::GLRGBScaler::scaleImage(), openmsx::GLHQLiteScaler::scaleImage(), and openmsx::GLPostProcessor::update().

◆ setWrapMode()

void gl::Texture::setWrapMode ( bool  wrap)

Definition at line 62 of file GLUtil.cc.

Friends And Related Function Documentation

◆ FrameBufferObject

friend class FrameBufferObject
friend

Definition at line 91 of file GLUtil.hh.

Member Data Documentation

◆ textureId

GLuint gl::Texture::textureId
protected

Definition at line 89 of file GLUtil.hh.

Referenced by gl::FrameBufferObject::FrameBufferObject().


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