28 #ifndef vtkOpenGLRenderWindow_h 29 #define vtkOpenGLRenderWindow_h 31 #include "vtkRenderingOpenGLModule.h" 51 static void SetGlobalMaximumNumberOfMultiSamples(
int val);
52 static int GetGlobalMaximumNumberOfMultiSamples();
69 virtual unsigned char *
GetPixelData(
int x,
int y,
int x2,
int y2,
int front);
70 virtual int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
86 int front,
int blend=0);
88 int front,
int blend=0);
95 unsigned char *
data,
int front,
107 virtual int GetZbufferData(
int x1,
int y1,
int x2,
int y2,
float* z );
110 virtual int SetZbufferData(
int x1,
int y1,
int x2,
int y2,
float *buffer );
118 void RegisterTextureResource (GLuint
id);
135 virtual void SetSize(
int a[2]);
142 virtual void OpenGLInit();
145 virtual void OpenGLInitState();
148 virtual void OpenGLInitContext();
157 unsigned int GetBackLeftBuffer();
166 unsigned int GetBackRightBuffer();
175 unsigned int GetFrontLeftBuffer();
184 unsigned int GetFrontRightBuffer();
193 unsigned int GetBackBuffer();
202 unsigned int GetFrontBuffer();
253 int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
unsigned char*
data);
256 unsigned char*
data);
267 int CreateHardwareOffScreenWindow(
int width,
int height);
269 int CreateHardwareOffScreenBuffers(
int width,
int height,
bool bind =
false);
270 void BindHardwareOffScreenBuffers();
277 void DestroyHardwareOffScreenWindow();
279 void UnbindHardwareOffScreenBuffers();
280 void DestroyHardwareOffScreenBuffers();
292 unsigned int TextureObjects[4];
295 int HardwareBufferSize[2];
302 virtual void CreateAWindow() = 0;
307 virtual void DestroyWindow() = 0;
int OwnContext
Flag telling if the context has been created here or was inherited.
Wrapper around std::string to keep symbols short.
int OffScreenUseFrameBuffer
Flag telling if a framebuffer-based offscreen is currently in use.
virtual int SetUseOffScreenBuffers(bool)
Create and bind offscreen rendering buffers without destroying the current OpenGL context...
vtkTimeStamp ContextCreationTime
int NumberOfFrameBuffers
Variables used by the framebuffer-based offscreen method.
virtual unsigned char * GetPixelData(int x, int y, int x2, int y2, int front)=0
Get the pixel data of an image, transmitted as RGBRGBRGB.
bool HardwareOffScreenBuffersBind
Variables used by the framebuffer-based offscreen method.
record modification and/or execution time
dynamic, self-adjusting array of float
virtual int GetColorBufferSizes(int *rgba)=0
Get the size of the color buffer.
vtkTextureUnitManager * TextureUnitManager
unsigned int FrontLeftBuffer
virtual int SetRGBAPixelData(int x, int y, int x2, int y2, float *, int front, int blend=0)=0
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkTypeUInt64 vtkMTimeType
virtual void SetSize(int, int)
Set/Get the size of the window in screen coordinates in pixels.
virtual unsigned char * GetRGBACharPixelData(int x, int y, int x2, int y2, int front)=0
Same as Get/SetPixelData except that the image also contains an alpha component.
vtkIdList * TextureResourceIds
a simple class to control print indentation
virtual void ReleaseRGBAPixelData(float *data)=0
Same as Get/SetPixelData except that the image also contains an alpha component.
unsigned int FrameBufferObject
Variables used by the framebuffer-based offscreen method.
list of point or cell ids
unsigned int BackLeftBuffer
virtual int GetDepthBufferSize()=0
This method should be defined by the subclass.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual int SetZbufferData(int x, int y, int x2, int y2, float *z)=0
Set/Get the zbuffer data from the frame buffer.
virtual float * GetRGBAPixelData(int x, int y, int x2, int y2, int front)=0
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual void StereoUpdate()
Update the system, if needed, due to stereo rendering.
Interface class for querying and using OpenGL extensions.
dynamic, self-adjusting array of unsigned char
allocate/free texture units.
unsigned int BackRightBuffer
create a window for renderers to draw into
virtual const char * GetRenderingBackend()
What rendering backend has the user requested.
virtual float * GetZbufferData(int x, int y, int x2, int y2)=0
Set/Get the zbuffer data from the frame buffer.
unsigned int FrontRightBuffer
unsigned int DepthRenderBufferObject
Variables used by the framebuffer-based offscreen method.
virtual int SetPixelData(int x, int y, int x2, int y2, unsigned char *data, int front)=0
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
virtual int SetRGBACharPixelData(int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0)=0
Same as Get/SetPixelData except that the image also contains an alpha component.
virtual bool GetUseOffScreenBuffers()
virtual void WaitForCompletion()=0
Block the thread until the actual rendering is finished().