27 #ifndef vtkOpenGLRenderWindow_h
28 #define vtkOpenGLRenderWindow_h
30 #include "vtkRenderingOpenGL2Module.h"
56 static void SetGlobalMaximumNumberOfMultiSamples(
int val);
57 static int GetGlobalMaximumNumberOfMultiSamples();
65 virtual unsigned char *
GetPixelData(
int x,
int y,
int x2,
int y2,
int front);
66 virtual int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
80 int front,
int blend=0);
82 int front,
int blend=0);
89 unsigned char *
data,
int front,
99 virtual int GetZbufferData(
int x1,
int y1,
int x2,
int y2,
float* z );
102 virtual int SetZbufferData(
int x1,
int y1,
int x2,
int y2,
float *buffer );
125 virtual void OpenGLInit();
128 virtual void OpenGLInitState();
131 virtual void OpenGLInitContext();
135 static bool GetContextSupportsOpenGL32();
136 void SetContextSupportsOpenGL32(
bool val);
144 unsigned int GetBackLeftBuffer();
151 unsigned int GetBackRightBuffer();
158 unsigned int GetFrontLeftBuffer();
165 unsigned int GetFrontRightBuffer();
172 unsigned int GetBackBuffer();
179 unsigned int GetFrontBuffer();
183 VTK_LEGACY(
virtual void CheckGraphicError());
184 VTK_LEGACY(
virtual int HasGraphicError());
185 VTK_LEGACY(
virtual const char *GetLastGraphicErrorString());
189 virtual unsigned long GetContextCreationTime();
206 virtual void DrawPixels(
int x1,
int y1,
int x2,
int y2,
207 int numComponents,
int dataType,
void *
data);
213 virtual void DrawPixels(
214 int dstXmin,
int dstYmin,
int dstXmax,
int dstYmax,
215 int srcXmin,
int srcYmin,
int srcXmax,
int srcYmax,
216 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
222 virtual void DrawPixels(
223 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
229 return this->MaximumHardwareLineWidth; };
238 long OldMonitorSetting;
242 int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
unsigned char*
data);
245 unsigned char*
data);
252 int CreateHardwareOffScreenWindow(
int width,
int height);
257 void DestroyHardwareOffScreenWindow();
260 int OffScreenUseFrameBuffer;
264 int NumberOfFrameBuffers;
265 unsigned int TextureObjects[4];
266 unsigned int FrameBufferObject;
267 unsigned int DepthRenderBufferObject;
271 virtual void CreateAWindow() = 0;
274 virtual void DestroyWindow() = 0;
277 virtual void ReleaseGraphicsResources();
287 void RestoreGLState();
291 unsigned int BackLeftBuffer;
292 unsigned int BackRightBuffer;
293 unsigned int FrontLeftBuffer;
294 unsigned int FrontRightBuffer;
295 unsigned int FrontBuffer;
296 unsigned int BackBuffer;
298 #ifndef VTK_LEGACY_REMOVE
Wrapper around std::string to keep symbols short.
float MaximumHardwareLineWidth
manage Shader Programs within a context
virtual unsigned char * GetPixelData(int x, int y, int x2, int y2, int front)=0
record modification and/or execution time
dynamic, self-adjusting array of float
virtual int GetColorBufferSizes(int *rgba)=0
virtual int SetRGBAPixelData(int x, int y, int x2, int y2, float *, int front, int blend=0)=0
virtual unsigned char * GetRGBACharPixelData(int x, int y, int x2, int y2, int front)=0
std::map< const vtkTextureObject *, int > TextureResourceIds
unsigned int LastGraphicError
a simple class to control print indentation
The VertexArrayObject class uses, or emulates, vertex array objects.
virtual void ReleaseRGBAPixelData(float *data)=0
vtkTextureObject * DrawPixelsTextureObject
list of point or cell ids
virtual int GetDepthBufferSize()=0
void PrintSelf(ostream &os, vtkIndent indent)
virtual int SetZbufferData(int x, int y, int x2, int y2, float *z)=0
virtual float * GetRGBAPixelData(int x, int y, int x2, int y2, int front)=0
handles properties associated with a texture map
virtual void StereoUpdate()
dynamic, self-adjusting array of unsigned char
allocate/free texture units.
vtkOpenGLShaderCache * ShaderCache
abstracts an OpenGL texture object.
create a window for renderers to draw into
virtual float GetMaximumHardwareLineWidth()
virtual float * GetZbufferData(int x, int y, int x2, int y2)=0
virtual int SetPixelData(int x, int y, int x2, int y2, unsigned char *data, int front)=0
virtual int SetRGBACharPixelData(int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0)=0
virtual void WaitForCompletion()=0
std::map< std::string, int > GLStateIntegers
The ShaderProgram uses one or more Shader objects.