25 #ifndef vtkTextureObject_h
26 #define vtkTextureObject_h
55 NumberOfDepthTextureCompareFunctions
64 NumberOfDepthTextureModes
87 NumberOfMinificationModes
119 vtkGetMacro(Width,
unsigned int);
120 vtkGetMacro(Height,
unsigned int);
121 vtkGetMacro(Depth,
unsigned int);
122 vtkGetMacro(Components,
int);
124 {
return this->Width*this->Height*this->Depth; }
127 vtkGetMacro(NumberOfDimensions,
int);
131 vtkGetMacro(Target,
unsigned int);
136 vtkGetMacro(Handle,
unsigned int);
149 void Activate(
unsigned int texUnit);
150 void Deactivate(
unsigned int texUnit);
162 void SendParameters();
163 vtkSetMacro(AutoParameters,
int);
164 vtkGetMacro(AutoParameters,
int);
175 bool Create1D(
int numComps,
177 bool shaderSupportsTextureInt);
184 bool Create2D(
unsigned int width,
unsigned int height,
int numComps,
186 bool shaderSupportsTextureInt);
192 bool CreateDepth(
unsigned int width,
201 bool CreateDepthFromRaw(
unsigned int width,
210 bool AllocateDepth(
unsigned int width,
unsigned int height,
216 bool Allocate1D(
unsigned int width,
int numComps,
int vtkType);
221 bool Allocate2D(
unsigned int width,
unsigned int height,
int numComps,
228 bool Allocate3D(
unsigned int width,
unsigned int height,
229 unsigned int depth,
int numComps,
238 bool Create3D(
unsigned int width,
unsigned int height,
unsigned int depth,
240 bool shaderSupportsTextureInt);
248 bool Create2D(
unsigned int width,
unsigned int height,
int numComps,
250 bool shaderSupportsTextureInt);
251 bool Create3D(
unsigned int width,
unsigned int height,
unsigned int depth,
252 int numComps,
int vtktype,
253 bool shaderSupportsTextureInt);
265 unsigned int GetInternalFormat(
int vtktype,
int numComps,
266 bool shaderSupportsTextureInt);
267 unsigned int GetFormat(
int vtktype,
int numComps,
268 bool shaderSupportsTextureInt);
274 vtkSetMacro(RequireDepthBufferFloat,
bool);
275 vtkGetMacro(RequireDepthBufferFloat,
bool);
276 vtkGetMacro(SupportsDepthBufferFloat,
bool);
283 vtkSetMacro(RequireTextureFloat,
bool);
284 vtkGetMacro(RequireTextureFloat,
bool);
285 vtkGetMacro(SupportsTextureFloat,
bool);
292 vtkSetMacro(RequireTextureInteger,
bool);
293 vtkGetMacro(RequireTextureInteger,
bool);
294 vtkGetMacro(SupportsTextureInteger,
bool);
301 vtkGetMacro(WrapS,
int);
302 vtkSetMacro(WrapS,
int);
309 vtkGetMacro(WrapT,
int);
310 vtkSetMacro(WrapT,
int);
317 vtkGetMacro(WrapR,
int);
318 vtkSetMacro(WrapR,
int);
327 vtkGetMacro(MinificationFilter,
int);
328 vtkSetMacro(MinificationFilter,
int);
334 vtkGetMacro(MagnificationFilter,
int);
335 vtkSetMacro(MagnificationFilter,
int);
342 { this->SetMagnificationFilter(val?Linear:Nearest); }
346 {
return this->MagnificationFilter==Linear; }
352 vtkSetVector4Macro(BorderColor,
float);
353 vtkGetVector4Macro(BorderColor,
float);
360 vtkSetMacro(Priority,
float);
361 vtkGetMacro(Priority,
float);
367 vtkSetMacro(MinLOD,
float);
368 vtkGetMacro(MinLOD,
float);
374 vtkSetMacro(MaxLOD,
float);
375 vtkGetMacro(MaxLOD,
float);
382 vtkSetMacro(BaseLevel,
int);
383 vtkGetMacro(BaseLevel,
int);
390 vtkSetMacro(MaxLevel,
int);
391 vtkGetMacro(MaxLevel,
int);
401 vtkGetMacro(DepthTextureCompare,
bool);
402 vtkSetMacro(DepthTextureCompare,
bool);
416 vtkGetMacro(DepthTextureCompareFunction,
int);
417 vtkSetMacro(DepthTextureCompareFunction,
int);
426 vtkGetMacro(DepthTextureMode,
int);
427 vtkSetMacro(DepthTextureMode,
int);
433 vtkGetMacro(GenerateMipmap,
bool);
434 vtkSetMacro(GenerateMipmap,
bool);
441 static bool IsSupported(
443 bool requireTexFloat,
444 bool requireDepthFloat,
474 void CopyToFrameBuffer(
int srcXmin,
494 void CopyFromFrameBuffer(
int srcXmin,
513 void CreateTexture();
516 void DestroyTexture();
543 float BorderColor[4];
bool SupportsTextureFloat
abstract base class for most VTK objects
int DepthTextureCompareFunction
bool GetLinearMagnification()
vtkWeakPointer< vtkRenderWindow > Context
record modification and/or execution time
dynamic, self-adjusting array of float
static bool IsSupported(vtkRenderWindow *renWin, bool requireTexFloat, bool requireDepthFloat, bool requireTexInt)
vtkTimeStamp SendParametersTime
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
bool SupportsDepthBufferFloat
#define VTKRENDERINGOPENGL_EXPORT
void SetLinearMagnification(bool val)
static bool IsSupported(vtkRenderWindow *renWin)
abstracts an OpenGL pixel buffer object.
Interface class for querying and using OpenGL extensions.
bool RequireTextureInteger
abstracts an OpenGL texture object.
create a window for renderers to draw into
bool SupportsTextureInteger
bool RequireDepthBufferFloat