Eulerian Smoke Simulation on the GPU
include/Texture2D.h
Go to the documentation of this file.
00001 #ifndef __TEXTURE_2D_H__
00002 #define __TEXTURE_2D_H__
00003 
00004 //---------------------------------------------------------------------
00007 //---------------------------------------------------------------------
00008 
00009 #include "Texture.h"
00010 
00018 class Texture2D : public Texture
00019 {
00020 public:
00034   Texture2D(
00035             GLenum _target,
00036             int    _width,
00037             int    _height,
00038             GLint  _internalFormat,
00039             GLenum _format,
00040             GLenum _dataType,
00041             GLenum _minFilter,
00042             GLenum _magFilter,
00043             GLenum _wrapMode,
00044             int    _samplerIndex,
00045             GLint  _mipLevel = 0,
00046             void*  _data = 0
00047            );
00048 
00058   bool write(
00059               GLint   _mipLevel,
00060               GLint   _xOffset,
00061               GLint   _yOffset,
00062               GLsizei _width,
00063               GLsizei _height,
00064               GLenum  _format,
00065               GLenum  _type,
00066               void*   _data
00067             );
00068 
00078   bool writeFromPBO(
00079                     GLint   _mipLevel,
00080                     GLint   _xOffset,
00081                     GLint   _yOffset,
00082                     GLsizei _width,
00083                     GLsizei _height,
00084                     GLenum  _format,
00085                     GLenum  _type,
00086                     GLuint  _pboHandle
00087                    );
00088 
00092   bool loadImage(
00093                   const std::string &_fileName,
00094                   GLint             _mipLevel
00095                 );
00096 
00098   inline GLsizei getWidth()  const {return m_width;}
00100   inline GLsizei getHeight() const {return m_height;}
00101 
00102 private:
00104   GLsizei m_width;
00106   GLsizei m_height;
00107 };
00108 
00109 #endif // __TEXTURE_2D_H__
 All Classes Files Functions Variables