Go to the documentation of this file.
23 #ifndef vtkTextureObject_h
24 #define vtkTextureObject_h
26 #include "vtkRenderingOpenGL2Module.h"
37 #if GL_ES_VERSION_2_0 != 1 || GL_ES_VERSION_3_0 == 1
56 NumberOfDepthTextureCompareFunctions
61 #if GL_ES_VERSION_2_0 != 1
89 NumberOfMinificationModes
120 NumberOfDepthModeFormats
144 {
return this->Width*this->Height*this->Depth; }
195 int numComps,
int dataType,
void *
data);
214 #if GL_ES_VERSION_2_0 != 1
226 bool shaderSupportsTextureInt);
232 int dataType,
void *
data);
245 #if GL_ES_VERSION_2_0 != 1 || GL_ES_VERSION_3_0 == 1
253 bool shaderSupportsTextureInt);
262 bool shaderSupportsTextureInt);
268 unsigned int depth,
int numComps,
269 int dataType,
void *
data);
310 unsigned int depth,
int numComps,
318 int vtktype,
bool shaderSupportsTextureInt);
320 int numComps,
int vtktype,
bool shaderSupportsTextureInt);
336 bool shaderSupportsTextureInt);
344 bool shaderSupportsTextureInt);
433 { this->SetMagnificationFilter(
val?Linear:Nearest); }
437 {
return this->MagnificationFilter==Linear; }
516 bool requireTexFloat,
517 bool requireDepthFloat,
535 int srcXmax,
int srcYmax,
536 int dstXmin,
int dstYmin,
537 int dstXmax,
int dstYmax,
538 int dstSizeX,
int dstSizeY,
544 int srcXmax,
int srcYmax,
545 int dstXmin,
int dstYmin,
546 int dstSizeX,
int dstSizeY,
590 int NumberOfDimensions;
603 bool RequireTextureInteger;
604 bool SupportsTextureInteger;
605 bool RequireTextureFloat;
606 bool SupportsTextureFloat;
607 bool RequireDepthBufferFloat;
608 bool SupportsDepthBufferFloat;
613 int MinificationFilter;
614 int MagnificationFilter;
615 bool LinearMagnification;
621 float BorderColor[4];
623 bool DepthTextureCompare;
624 int DepthTextureCompareFunction;
bool Allocate2D(unsigned int width, unsigned int height, int numComps, int vtkType)
void ReleaseGraphicsResources(vtkWindow *win)
void CopyToFrameBuffer(int srcXmin, int srcYmin, int srcXmax, int srcYmax, int dstXmin, int dstYmin, int dstXmax, int dstYmax, int dstSizeX, int dstSizeY, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
GLsizei GLsizei GLenum GLenum const GLvoid * data
bool Create3DFromRaw(unsigned int width, unsigned int height, unsigned int depth, int numComps, int dataType, void *data)
bool Create1D(int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
vtkOpenGLBufferObject * BufferObject
bool Create3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, int vtktype, bool shaderSupportsTextureInt)
void CopyToFrameBuffer(int srcXmin, int srcYmin, int srcXmax, int srcYmax, int dstXmin, int dstYmin, int dstSizeX, int dstSizeY, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
void CopyToFrameBuffer(float *tcoords, float *verts, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
bool CreateTextureBuffer(unsigned int numValues, int numComps, int dataType, vtkOpenGLBufferObject *bo)
record modification and/or execution time
vtkPixelBufferObject * Download()
VTKRENDERINGOPENGL_EXPORT PFNGLGENERATEMIPMAPPROC GenerateMipmap
bool LoadRequiredExtensions(vtkOpenGLRenderWindow *renWin)
#define vtkTypeMacro(thisClass, superclass)
void SetFormat(unsigned int glFormat)
void SetContext(vtkOpenGLRenderWindow *)
abstract base class for most VTK objects
void SetInternalFormat(unsigned int glInternalFormat)
unsigned int GetFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
bool AllocateDepth(unsigned int width, unsigned int height, int internalFormat)
bool GetLinearMagnification()
bool CreateDepth(unsigned int width, unsigned int height, int internalFormat, vtkPixelBufferObject *pbo)
window superclass for vtkRenderWindow
vtkWeakPointer< vtkOpenGLRenderWindow > Context
unsigned int GetInternalFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
unsigned int GetMinificationFilterMode(int vtktype)
unsigned int GetMagnificationFilterMode(int vtktype)
GLint GLint GLsizei GLsizei GLsizei depth
vtkOpenGLHelper * ShaderProgram
unsigned int GetWrapRMode(int vtktype)
static bool IsSupported(vtkOpenGLRenderWindow *renWin, bool requireTexFloat, bool requireDepthFloat, bool requireTexInt)
The ShaderProgram uses one or more Shader objects.
bool Create2D(unsigned int width, unsigned int height, int numComps, int vtktype, bool shaderSupportsTextureInt)
a simple class to control print indentation
abstracts an OpenGL texture object.
static vtkTextureObject * New()
void CopyFromFrameBuffer(int srcXmin, int srcYmin, int dstXmin, int dstYmin, int width, int height)
bool Create3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
bool CreateAlphaFromRaw(unsigned int width, int internalFormat, int rawType, void *raw)
#define vtkGetMacro(name, type)
void ResetFormatAndType()
vtkOpenGLRenderWindow * GetContext()
bool Allocate1D(unsigned int width, int numComps, int vtkType)
void SetDataType(unsigned int glType)
GLint GLint GLsizei width
vtkSetMacro(IgnoreDriverBugs, bool)
GLclampf GLclampf GLclampf alpha
#define vtkSetVector4Macro(name, type)
bool Allocate3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, int vtkType)
bool Create2D(unsigned int width, unsigned int height, int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
bool Create1DFromRaw(unsigned int width, int numComps, int dataType, void *data)
void PrintSelf(ostream &os, vtkIndent indent)
int GetDataType(int vtk_scalar_type)
unsigned int GetDepthTextureModeFormat(int vtktype)
void CopyToFrameBuffer(vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
unsigned int GetWrapSMode(int vtktype)
bool CreateDepthFromRaw(unsigned int width, unsigned int height, int internalFormat, int rawType, void *raw)
unsigned int GetWrapTMode(int vtktype)
bool Create2DFromRaw(unsigned int width, unsigned int height, int numComps, int dataType, void *data)
static bool IsSupported(vtkOpenGLRenderWindow *renWin)
void SetLinearMagnification(bool val)
#define vtkGetVector4Macro(name, type)
The VertexArrayObject class uses, or emulates, vertex array objects.
abstracts an OpenGL pixel buffer object.
unsigned int InternalFormat
GLint GLint GLsizei GLsizei height
static bool IsSupported(vtkRenderWindow *renWin, bool requireTexFloat, bool requireDepthFloat, bool requireTexInt)