25 #ifndef vtkOpenGLRenderWindow_h
26 #define vtkOpenGLRenderWindow_h
28 #include "vtkRenderingOpenGLModule.h"
48 static void SetGlobalMaximumNumberOfMultiSamples(
int val);
49 static int GetGlobalMaximumNumberOfMultiSamples();
66 virtual unsigned char *
GetPixelData(
int x,
int y,
int x2,
int y2,
int front);
67 virtual int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
83 int front,
int blend=0);
85 int front,
int blend=0);
92 unsigned char *
data,
int front,
104 virtual int GetZbufferData(
int x1,
int y1,
int x2,
int y2,
float* z );
107 virtual int SetZbufferData(
int x1,
int y1,
int x2,
int y2,
float *buffer );
115 void RegisterTextureResource (GLuint
id);
132 virtual void SetSize(
int a[2]);
139 virtual void OpenGLInit();
142 virtual void OpenGLInitState();
145 virtual void OpenGLInitContext();
154 unsigned int GetBackLeftBuffer();
163 unsigned int GetBackRightBuffer();
172 unsigned int GetFrontLeftBuffer();
181 unsigned int GetFrontRightBuffer();
190 unsigned int GetBackBuffer();
199 unsigned int GetFrontBuffer();
250 int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
unsigned char*
data);
253 unsigned char*
data);
264 int CreateHardwareOffScreenWindow(
int width,
int height);
266 int CreateHardwareOffScreenBuffers(
int width,
int height,
bool bind =
false);
267 void BindHardwareOffScreenBuffers();
274 void DestroyHardwareOffScreenWindow();
276 void UnbindHardwareOffScreenBuffers();
277 void DestroyHardwareOffScreenBuffers();
289 unsigned int TextureObjects[4];
292 int HardwareBufferSize[2];
299 virtual void CreateAWindow() = 0;
304 virtual void DestroyWindow() = 0;
334 vtkOpenGLExtensionManager* ExtensionManager;
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().