VTK
vtkTextureObject.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTextureObject.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkTextureObject_h
28 #define vtkTextureObject_h
29 
30 #include "vtkRenderingOpenGL2Module.h" // For export macro
31 #include "vtkObject.h"
32 #include "vtkWeakPointer.h" // for render context
33 
35 class vtkOpenGLHelper;
38 class vtkShaderProgram;
39 class vtkWindow;
41 
42 #if GL_ES_VERSION_2_0 != 1 || GL_ES_VERSION_3_0 == 1
44 #endif
45 
46 class VTKRENDERINGOPENGL2_EXPORT vtkTextureObject : public vtkObject
47 {
48 public:
49 
50  // DepthTextureCompareFunction values.
51  enum
52  {
53  Lequal=0, // r=R<=Dt ? 1.0 : 0.0
54  Gequal, // r=R>=Dt ? 1.0 : 0.0
55  Less, // r=R<D_t ? 1.0 : 0.0
56  Greater, // r=R>Dt ? 1.0 : 0.0
57  Equal, // r=R==Dt ? 1.0 : 0.0
58  NotEqual, // r=R!=Dt ? 1.0 : 0.0
59  AlwaysTrue, // r=1.0 // WARNING "Always" is macro defined in X11/X.h...
60  Never, // r=0.0
61  NumberOfDepthTextureCompareFunctions
62  };
63 
64 // ClampToBorder is not supported in ES 2.0
65 // Wrap values.
66 #if GL_ES_VERSION_2_0 != 1
67  enum
68  {
69  ClampToEdge=0,
70  Repeat,
71  MirroredRepeat,
72  ClampToBorder,
73  NumberOfWrapModes
74  };
75 #else
76  enum
77  {
78  ClampToEdge=0,
79  Repeat,
80  MirroredRepeat,
81  NumberOfWrapModes
82  };
83 #endif
84 
85  // MinificationFilter values.
86  enum
87  {
88  Nearest=0,
89  Linear,
90  NearestMipmapNearest,
91  NearestMipmapLinear,
92  LinearMipmapNearest,
93  LinearMipmapLinear,
94  NumberOfMinificationModes
95  };
96 
97  // Internal depth format
98  enum
99  {
100  Native=0, // will try to match with the depth buffer format.
101  Fixed16,
102  Fixed24,
103  Fixed32,
104  Float32,
105  NumberOfDepthFormats
106  };
107 
108  // Internal alpha format
109  enum
110  {
111  alpha=0,
116  NumberOfAlphaFormats
117  };
118 
119  // Depth mode formats
120  enum
121  {
122  DepthAlpha=0,
125  NumberOfDepthModeFormats
126  };
127 
129  vtkTypeMacro(vtkTextureObject, vtkObject);
130  void PrintSelf(ostream& os, vtkIndent indent);
131 
133 
145 
147 
151  vtkGetMacro(Width, unsigned int);
152  vtkGetMacro(Height, unsigned int);
153  vtkGetMacro(Depth, unsigned int);
154  vtkGetMacro(Components, int);
155  unsigned int GetTuples()
156  { return this->Width*this->Height*this->Depth; }
158 
159  vtkGetMacro(NumberOfDimensions, int);
160 
162 
165  vtkGetMacro(Target, unsigned int);
167 
169 
172  vtkGetMacro(Handle, unsigned int);
174 
179 
181 
186  void Bind();
187  void UnBind();
189 
193  void Activate();
194 
198  void Deactivate();
199 
204 
209  bool IsBound();
210 
212 
219  vtkSetMacro(AutoParameters, int);
220  vtkGetMacro(AutoParameters, int);
222 
227  bool Create2DFromRaw(unsigned int width, unsigned int height,
228  int numComps, int dataType, void *data);
229 
234  bool CreateDepthFromRaw(unsigned int width, unsigned int height,
235  int internalFormat, int rawType,
236  void *raw);
237 
242  bool CreateTextureBuffer(unsigned int numValues, int numComps,
243  int dataType, vtkOpenGLBufferObject *bo);
244 
250  bool CreateCubeFromRaw(unsigned int width, unsigned int height,
251  int numComps, int dataType, void *data[6]);
252 
253 // 1D textures are not supported in ES 2.0 or 3.0
254 #if GL_ES_VERSION_2_0 != 1
255 
266  bool Create1D(int numComps,
268  bool shaderSupportsTextureInt);
269 
273  bool Create1DFromRaw(unsigned int width, int numComps,
274  int dataType, void *data);
279  bool CreateAlphaFromRaw(unsigned int width,
280  int internalFormat,
281  int rawType,
282  void *raw);
283 #endif
284 
285 // PBO's, and 3D textures are not supported in ES 2.0
286 #if GL_ES_VERSION_2_0 != 1 || GL_ES_VERSION_3_0 == 1
287 
294  bool Create2D(unsigned int width, unsigned int height, int numComps,
296  bool shaderSupportsTextureInt);
297 
304  bool Create3D(unsigned int width, unsigned int height, unsigned int depth,
305  int numComps, vtkPixelBufferObject *pbo,
306  bool shaderSupportsTextureInt);
307 
312  bool Create3DFromRaw(unsigned int width, unsigned int height,
313  unsigned int depth, int numComps,
314  int dataType, void *data);
315 
323 
328  bool CreateDepth(unsigned int width,
329  unsigned int height,
330  int internalFormat,
331  vtkPixelBufferObject *pbo);
332 
333 #endif
334 
338  bool AllocateDepth(unsigned int width, unsigned int height,
339  int internalFormat);
340 
345  bool Allocate1D(unsigned int width, int numComps, int vtkType);
346 
351  bool Allocate2D(unsigned int width, unsigned int height, int numComps,
352  int vtkType);
353 
358  bool Allocate3D(unsigned int width, unsigned int height,
359  unsigned int depth, int numComps,
360  int vtkType);
361 
362 
364 
367  bool Create2D(unsigned int width, unsigned int height, int numComps,
368  int vtktype, bool shaderSupportsTextureInt);
369  bool Create3D(unsigned int width, unsigned int height, unsigned int depth,
370  int numComps, int vtktype, bool shaderSupportsTextureInt);
372 
377 
379 
382  int GetDataType(int vtk_scalar_type);
383  void SetDataType(unsigned int glType);
384  int GetDefaultDataType(int vtk_scalar_type);
386 
388 
393  unsigned int GetInternalFormat(int vtktype, int numComps,
394  bool shaderSupportsTextureInt);
395  void SetInternalFormat(unsigned int glInternalFormat);
396  unsigned int GetDefaultInternalFormat(int vtktype, int numComps,
397  bool shaderSupportsTextureInt);
399 
401 
406  unsigned int GetFormat(int vtktype, int numComps,
407  bool shaderSupportsTextureInt);
408  void SetFormat(unsigned int glFormat);
409  unsigned int GetDefaultFormat(int vtktype, int numComps,
410  bool shaderSupportsTextureInt);
412 
422 
423  unsigned int GetMinificationFilterMode(int vtktype);
424  unsigned int GetMagnificationFilterMode(int vtktype);
425  unsigned int GetWrapSMode(int vtktype);
426  unsigned int GetWrapTMode(int vtktype);
427  unsigned int GetWrapRMode(int vtktype);
428 
430 
436  vtkSetMacro(RequireDepthBufferFloat, bool);
437  vtkGetMacro(RequireDepthBufferFloat, bool);
438  vtkGetMacro(SupportsDepthBufferFloat, bool);
440 
442 
448  vtkSetMacro(RequireTextureFloat, bool);
449  vtkGetMacro(RequireTextureFloat, bool);
450  vtkGetMacro(SupportsTextureFloat, bool);
452 
454 
460  vtkSetMacro(RequireTextureInteger, bool);
461  vtkGetMacro(RequireTextureInteger, bool);
462  vtkGetMacro(SupportsTextureInteger, bool);
464 
466 
476  vtkGetMacro(WrapS, int);
477  vtkSetMacro(WrapS, int);
479 
481 
491  vtkGetMacro(WrapT, int);
492  vtkSetMacro(WrapT, int);
494 
496 
506  vtkGetMacro(WrapR, int);
507  vtkSetMacro(WrapR, int);
509 
511 
524  vtkGetMacro(MinificationFilter, int);
525  vtkSetMacro(MinificationFilter, int);
527 
529 
536  vtkGetMacro(MagnificationFilter, int);
537  vtkSetMacro(MagnificationFilter, int);
539 
544  void SetLinearMagnification(bool val)
545  { this->SetMagnificationFilter(val?Linear:Nearest); }
546 
548  { return this->MagnificationFilter==Linear; }
549 
551 
556  vtkSetVector4Macro(BorderColor, float);
557  vtkGetVector4Macro(BorderColor, float);
559 
561 
565  vtkSetMacro(MinLOD, float);
566  vtkGetMacro(MinLOD, float);
568 
570 
574  vtkSetMacro(MaxLOD, float);
575  vtkGetMacro(MaxLOD, float);
577 
579 
584  vtkSetMacro(BaseLevel, int);
585  vtkGetMacro(BaseLevel, int);
587 
589 
594  vtkSetMacro(MaxLevel, int);
595  vtkGetMacro(MaxLevel, int);
597 
599 
609  vtkGetMacro(DepthTextureCompare, bool);
610  vtkSetMacro(DepthTextureCompare, bool);
612 
614 
634  vtkGetMacro(DepthTextureCompareFunction, int);
635  vtkSetMacro(DepthTextureCompareFunction, int);
637 
639 
644  vtkGetMacro(GenerateMipmap, bool);
645  vtkSetMacro(GenerateMipmap, bool);
647 
658 
664  static bool IsSupported(
665  vtkOpenGLRenderWindow* renWin,
666  bool requireTexFloat,
667  bool requireDepthFloat,
668  bool requireTexInt);
669 
673  static bool IsSupported(vtkOpenGLRenderWindow* renWin)
674  { return vtkTextureObject::IsSupported(renWin, false, false, false); }
675 
677 
684  // part of a texture to part of a viewport, scaling as needed
685  void CopyToFrameBuffer(int srcXmin, int srcYmin,
686  int srcXmax, int srcYmax,
687  int dstXmin, int dstYmin,
688  int dstXmax, int dstYmax,
689  int dstSizeX, int dstSizeY,
690  vtkShaderProgram *program,
692  );
693  // copy part of a texure to part of a viewport, no scalaing
694  void CopyToFrameBuffer(int srcXmin, int srcYmin,
695  int srcXmax, int srcYmax,
696  int dstXmin, int dstYmin,
697  int dstSizeX, int dstSizeY,
698  vtkShaderProgram *program,
700  );
701  // copy a texture to a quad using the provided tcoords and verts
702  void CopyToFrameBuffer(float *tcoords, float *verts,
703  vtkShaderProgram *program,
705  );
707 
708 
720  void CopyFromFrameBuffer(int srcXmin,
721  int srcYmin,
722  int dstXmin,
723  int dstYmin,
724  int width,
725  int height);
726 
739  void GetShiftAndScale(float &shift, float &scale);
740 
741 protected:
744 
746 
751 
756 
761 
762  int NumberOfDimensions;
763  unsigned int Width;
764  unsigned int Height;
765  unsigned int Depth;
766 
767  unsigned int Target; // GLenum
768  unsigned int Format; // GLenum
769  unsigned int InternalFormat; // GLenum
770  unsigned int Type; // GLenum
771  int Components;
772 
774  unsigned int Handle;
775  bool RequireTextureInteger;
776  bool SupportsTextureInteger;
777  bool RequireTextureFloat;
778  bool SupportsTextureFloat;
779  bool RequireDepthBufferFloat;
780  bool SupportsDepthBufferFloat;
781 
782  int WrapS;
783  int WrapT;
784  int WrapR;
785  int MinificationFilter;
786  int MagnificationFilter;
787 
788  float MinLOD;
789  float MaxLOD;
790  int BaseLevel;
791  int MaxLevel;
792  float BorderColor[4];
793 
794  bool DepthTextureCompare;
795  int DepthTextureCompareFunction;
796 
797  bool GenerateMipmap;
798 
799  int AutoParameters;
800  vtkTimeStamp SendParametersTime;
801 
802  // used for copying to framebuffer
804 
805  // for texturebuffers we hold on to the Buffer
807 
808 private:
809  vtkTextureObject(const vtkTextureObject&) VTK_DELETE_FUNCTION;
810  void operator=(const vtkTextureObject&) VTK_DELETE_FUNCTION;
811 };
812 
813 #endif
vtkTextureObject::Allocate2D
bool Allocate2D(unsigned int width, unsigned int height, int numComps, int vtkType)
Create a 2D color texture but does not initialize its values.
vtkTextureObject::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *win)
Deactivate and UnBind the texture.
vtkTextureObject::CopyToFrameBuffer
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)
vtkTextureObject::GetDefaultInternalFormat
unsigned int GetDefaultInternalFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
vtkTextureObject::ResourceCallback
vtkGenericOpenGLResourceFreeCallback * ResourceCallback
Definition: vtkTextureObject.h:745
vtkTextureObject::Create3DFromRaw
bool Create3DFromRaw(unsigned int width, unsigned int height, unsigned int depth, int numComps, int dataType, void *data)
Create a 3D texture from client memory numComps must be in [1-4].
vtkTextureObject::alpha16
@ alpha16
Definition: vtkTextureObject.h:113
vtkTextureObject::Create1D
bool Create1D(int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
Create a 1D texture using the PBO.
vtkTextureObject::BufferObject
vtkOpenGLBufferObject * BufferObject
Definition: vtkTextureObject.h:806
vtkTextureObject::CreateCubeFromRaw
bool CreateCubeFromRaw(unsigned int width, unsigned int height, int numComps, int dataType, void *data[6])
Create a cube texture from 6 buffers from client memory.
vtkX3D::alpha
@ alpha
Definition: vtkX3D.h:250
vtkTextureObject::Create3D
bool Create3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, int vtktype, bool shaderSupportsTextureInt)
vtkTextureObject::CopyToFrameBuffer
void CopyToFrameBuffer(int srcXmin, int srcYmin, int srcXmax, int srcYmax, int dstXmin, int dstYmin, int dstSizeX, int dstSizeY, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
vtkTextureObject::CopyToFrameBuffer
void CopyToFrameBuffer(float *tcoords, float *verts, vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
vtkOpenGLBufferObject
OpenGL buffer object.
Definition: vtkOpenGLBufferObject.h:33
vtkX3D::scale
@ scale
Definition: vtkX3D.h:229
vtkTextureObject::CreateTextureBuffer
bool CreateTextureBuffer(unsigned int numValues, int numComps, int dataType, vtkOpenGLBufferObject *bo)
Create a texture buffer basically a 1D texture that can be very large for passing data into the fragm...
vtkX3D::data
@ data
Definition: vtkX3D.h:315
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:36
vtkTextureObject::Download
vtkPixelBufferObject * Download()
This is used to download raw data from the texture into a pixel bufer.
vtkTextureObject::LoadRequiredExtensions
bool LoadRequiredExtensions(vtkOpenGLRenderWindow *renWin)
Load all necessary extensions.
vtkTextureObject::SetFormat
void SetFormat(unsigned int glFormat)
vtkTextureObject::SetContext
void SetContext(vtkOpenGLRenderWindow *)
Get/Set the context.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:60
vtkTextureObject::GetMaximumTextureSize
static int GetMaximumTextureSize(vtkOpenGLRenderWindow *context)
Query and return maximum texture size (dimension) supported by the OpenGL driver for a particular con...
vtkTextureObject::SetInternalFormat
void SetInternalFormat(unsigned int glInternalFormat)
vtkTextureObject::alpha16f
@ alpha16f
Definition: vtkTextureObject.h:114
vtkTextureObject::GetFormat
unsigned int GetFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
Get/Set format (OpenGL internal format) that should be used.
vtkTextureObject::AllocateDepth
bool AllocateDepth(unsigned int width, unsigned int height, int internalFormat)
Create a 2D depth texture but does not initialize its values.
vtkTextureObject::GetVTKDataType
int GetVTKDataType()
Get the data type for the texture as a vtk type int i.e.
vtkTextureObject::GetLinearMagnification
bool GetLinearMagnification()
Definition: vtkTextureObject.h:547
vtkTextureObject::vtkTextureObject
vtkTextureObject()
vtkTextureObject::GetTextureUnit
int GetTextureUnit()
Return the texture unit used for this texture.
vtkTextureObject::GetShiftAndScale
void GetShiftAndScale(float &shift, float &scale)
Get the shift and scale required in the shader to return the texture values to their original range.
vtkTextureObject::CreateDepth
bool CreateDepth(unsigned int width, unsigned int height, int internalFormat, vtkPixelBufferObject *pbo)
Create a 2D depth texture using a PBO.
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
vtkTextureObject::Context
vtkWeakPointer< vtkOpenGLRenderWindow > Context
Definition: vtkTextureObject.h:773
vtkTextureObject::GetInternalFormat
unsigned int GetInternalFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
Get/Set internal format (OpenGL internal format) that should be used.
vtkTextureObject::GetMinificationFilterMode
unsigned int GetMinificationFilterMode(int vtktype)
vtkTextureObject::GetMagnificationFilterMode
unsigned int GetMagnificationFilterMode(int vtktype)
vtkTextureObject::GetTuples
unsigned int GetTuples()
Definition: vtkTextureObject.h:155
vtkTextureObject::DepthLuminance
@ DepthLuminance
Definition: vtkTextureObject.h:123
vtkTextureObject::GetDefaultFormat
unsigned int GetDefaultFormat(int vtktype, int numComps, bool shaderSupportsTextureInt)
vtkTextureObject::CreateTexture
void CreateTexture()
Creates a texture handle if not already created.
vtkTextureObject::ShaderProgram
vtkOpenGLHelper * ShaderProgram
Definition: vtkTextureObject.h:803
vtkTextureObject::GetWrapRMode
unsigned int GetWrapRMode(int vtktype)
vtkX3D::height
@ height
Definition: vtkX3D.h:254
vtkTextureObject::IsSupported
static bool IsSupported(vtkOpenGLRenderWindow *renWin, bool requireTexFloat, bool requireDepthFloat, bool requireTexInt)
Returns if the context supports the required extensions.
vtkShaderProgram
The ShaderProgram uses one or more Shader objects.
Definition: vtkShaderProgram.h:45
vtkGenericOpenGLResourceFreeCallback
Definition: vtkOpenGLResourceFreeCallback.h:26
vtkOpenGLHelper
Definition: vtkOpenGLHelper.h:31
vtkTextureObject::Deactivate
void Deactivate()
Deactivate and UnBind the texture.
vtkTextureObject::Create2D
bool Create2D(unsigned int width, unsigned int height, int numComps, int vtktype, bool shaderSupportsTextureInt)
Create texture without uploading any data.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkTextureObject
abstracts an OpenGL texture object.
Definition: vtkTextureObject.h:41
vtkTextureObject::~vtkTextureObject
~vtkTextureObject()
vtkTextureObject::New
static vtkTextureObject * New()
vtkTextureObject::CopyFromFrameBuffer
void CopyFromFrameBuffer(int srcXmin, int srcYmin, int dstXmin, int dstYmin, int width, int height)
Copy a sub-part of a logical buffer of the framebuffer (color or depth) to the texture object.
vtkTextureObject::Create3D
bool Create3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
Create a 3D texture using the PBO.
vtkTextureObject::CreateAlphaFromRaw
bool CreateAlphaFromRaw(unsigned int width, int internalFormat, int rawType, void *raw)
Create a 1D alpha texture using a raw pointer.
vtkWeakPointer.h
vtkTextureObject::ResetFormatAndType
void ResetFormatAndType()
Reset format, internal format, and type of the texture.
vtkTextureObject::GetContext
vtkOpenGLRenderWindow * GetContext()
vtkTextureObject::Allocate1D
bool Allocate1D(unsigned int width, int numComps, int vtkType)
Create a 1D color texture but does not initialize its values.
vtkTextureObject::SetDataType
void SetDataType(unsigned int glType)
vtkObject.h
vtkTextureObject::DepthIntensity
@ DepthIntensity
Definition: vtkTextureObject.h:124
vtkTextureObject::SendParameters
void SendParameters()
Send all the texture object parameters to the hardware if not done yet.
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTextureObject::Allocate3D
bool Allocate3D(unsigned int width, unsigned int height, unsigned int depth, int numComps, int vtkType)
Create a 3D color texture but does not initialize its values.
vtkTextureObject::Create2D
bool Create2D(unsigned int width, unsigned int height, int numComps, vtkPixelBufferObject *pbo, bool shaderSupportsTextureInt)
Create a 2D texture using the PBO.
vtkTextureObject::Create1DFromRaw
bool Create1DFromRaw(unsigned int width, int numComps, int dataType, void *data)
Create 1D texture from client memory.
vtkTextureObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkTextureObject::IsBound
bool IsBound()
Tells if the texture object is bound to the active texture image unit.
vtkTextureObject::GetDataType
int GetDataType(int vtk_scalar_type)
Get the data type for the texture as GLenum type.
vtkTextureObject::alpha32f
@ alpha32f
Definition: vtkTextureObject.h:115
vtkTextureObject::GetDefaultDataType
int GetDefaultDataType(int vtk_scalar_type)
vtkTextureObject::CopyToFrameBuffer
void CopyToFrameBuffer(vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
Copy the texture (src) in the current framebuffer.
vtkTextureObject::GetWrapSMode
unsigned int GetWrapSMode(int vtktype)
vtkTextureObject::CreateDepthFromRaw
bool CreateDepthFromRaw(unsigned int width, unsigned int height, int internalFormat, int rawType, void *raw)
Create a 2D depth texture using a raw pointer.
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:39
vtkTextureObject::Bind
void Bind()
Bind UnBind The texture must have been created using Create().
vtkTextureObject::UnBind
void UnBind()
vtkTextureObject::GetWrapTMode
unsigned int GetWrapTMode(int vtktype)
vtkTextureObject::Create2DFromRaw
bool Create2DFromRaw(unsigned int width, unsigned int height, int numComps, int dataType, void *data)
Create a 2D texture from client memory numComps must be in [1-4].
vtkTextureObject::IsSupported
static bool IsSupported(vtkOpenGLRenderWindow *renWin)
Check for feature support, without any optional features.
Definition: vtkTextureObject.h:673
vtkTextureObject::SetLinearMagnification
void SetLinearMagnification(bool val)
Tells if the magnification mode is linear (true) or nearest (false).
Definition: vtkTextureObject.h:544
vtkTextureObject::DestroyTexture
void DestroyTexture()
Destroy the texture.
vtkTextureObject::alpha8
@ alpha8
Definition: vtkTextureObject.h:112
vtkOpenGLVertexArrayObject
The VertexArrayObject class uses, or emulates, vertex array objects.
Definition: vtkOpenGLVertexArrayObject.h:36
vtkPixelBufferObject
abstracts an OpenGL pixel buffer object.
Definition: vtkPixelBufferObject.h:44
vtkTextureObject::Activate
void Activate()
Activate and Bind the texture.
vtkWeakPointer< vtkOpenGLRenderWindow >
vtkTextureObject::InternalFormat
unsigned int InternalFormat
Definition: vtkTextureObject.h:769
vtkTextureObject::IsSupported
static bool IsSupported(vtkRenderWindow *renWin, bool requireTexFloat, bool requireDepthFloat, bool requireTexInt)
Returns if the context supports the required extensions.