Eulerian Smoke Simulation on the GPU
|
00001 #ifndef __TEXTURE_1D_H__ 00002 #define __TEXTURE_1D_H__ 00003 00004 //--------------------------------------------------------------------- 00007 //--------------------------------------------------------------------- 00008 00009 #include "Texture.h" 00010 00018 class Texture1D : public Texture 00019 { 00020 public: 00033 Texture1D( 00034 GLenum _target, 00035 int _width, 00036 GLint _internalFormat, 00037 GLenum _format, 00038 GLenum _dataType, 00039 GLenum _minFilter, 00040 GLenum _magFilter, 00041 GLenum _wrapMode, 00042 int _samplerIndex, 00043 GLint _mipLevel = 0, 00044 void* _data = 0 00045 ); 00046 00054 bool write( 00055 GLint _mipLevel, 00056 GLint _xOffset, 00057 GLsizei _width, 00058 GLenum _format, 00059 GLenum _type, 00060 void* _data 00061 ); 00062 00070 bool writeFromPBO( 00071 GLint _mipLevel, 00072 GLint _xOffset, 00073 GLsizei _width, 00074 GLenum _format, 00075 GLenum _type, 00076 GLuint _pboHandle 00077 ); 00078 00080 inline GLsizei getWidth() const {return m_width;} 00081 00082 private: 00084 GLsizei m_width; 00085 00086 }; 00087 00088 #endif // __TEXTURE_1D_H__