You.i Engine
YiGLTextureObject.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_GL_TEXTURE_OBJECT_H_
3 #define _YI_GL_TEXTURE_OBJECT_H_
4 
6 
18 {
19  friend class CYIGLFramebufferObject;
20 public:
25 
29  virtual ~CYIGLTextureObject();
30 
31  //Inherited from IYIGPUObject
32  virtual void Load(const std::shared_ptr<CYIAssetHardware> &pAsset) override;
33  virtual void Unload() override;
34  virtual void Use() const override;
35  virtual void Generate() override;
36  virtual void Free() override;
37  virtual void InvalidateHandle() override;
45  void Configure(GLint level,
46  GLint internalFormat,
47  GLsizei width,
48  GLsizei height,
49  GLint border,
50  GLenum format,
51  GLenum type);
52 
53 protected:
54  GLint m_level;
56  GLsizei m_width;
57  GLsizei m_height;
58  GLint m_border;
59  GLenum m_format;
60  GLenum m_type;
61 
62  //This flag indicates that the texture size or configuration have changed,
63  //meaning that we need a call to glTexImage2D rather than glTexSubImage2D
65 };
66 
69 #endif // _YI_GL_TEXTURE_OBJECT_H_
GLenum m_type
Definition: YiGLTextureObject.h:60
An abstract class for common OpenGL buffer functionality.
Definition: YiGLAbstractBufferObject.h:17
bool m_bNeedsFullReload
Definition: YiGLTextureObject.h:64
GLsizei m_height
Definition: YiGLTextureObject.h:57
virtual void Free() override
GLenum m_format
Definition: YiGLTextureObject.h:59
GLint m_internalFormat
Definition: YiGLTextureObject.h:55
IYIGPUObject implementation for OpenGL textures.
Definition: YiGLTextureObject.h:17
IYIGPUObject implementation for OpenGL Framebuffers.
Definition: YiGLFramebufferObject.h:18
GLint m_border
Definition: YiGLTextureObject.h:58
GLint m_level
Definition: YiGLTextureObject.h:54
virtual void Unload() override
virtual void Load(const std::shared_ptr< CYIAssetHardware > &pAsset) override
virtual void Generate() override
virtual void InvalidateHandle() override
virtual ~CYIGLTextureObject()
GLsizei m_width
Definition: YiGLTextureObject.h:56
void Configure(GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type)
virtual void Use() const override