24 #ifndef vtkOpenGLRenderWindow_h 25 #define vtkOpenGLRenderWindow_h 27 #include "vtkRenderingOpenGL2Module.h" 53 static void SetGlobalMaximumNumberOfMultiSamples(
int val);
54 static int GetGlobalMaximumNumberOfMultiSamples();
62 virtual unsigned char *
GetPixelData(
int x,
int y,
int x2,
int y2,
int front);
77 int front,
int blend=0);
79 int front,
int blend=0);
86 unsigned char *
data,
int front,
122 virtual void OpenGLInit();
125 virtual void OpenGLInitState();
128 virtual void OpenGLInitContext();
132 static bool GetContextSupportsOpenGL32();
133 void SetContextSupportsOpenGL32(
bool val);
141 unsigned int GetBackLeftBuffer();
148 unsigned int GetBackRightBuffer();
155 unsigned int GetFrontLeftBuffer();
162 unsigned int GetFrontRightBuffer();
169 unsigned int GetBackBuffer();
176 unsigned int GetFrontBuffer();
182 VTK_LEGACY(
virtual const char *GetLastGraphicErrorString());
186 virtual unsigned long GetContextCreationTime();
203 virtual void DrawPixels(
int x1,
int y1,
int x2,
int y2,
204 int numComponents,
int dataType,
void *
data);
210 virtual void DrawPixels(
211 int dstXmin,
int dstYmin,
int dstXmax,
int dstYmax,
212 int srcXmin,
int srcYmin,
int srcXmax,
int srcYmax,
213 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
219 virtual void DrawPixels(
220 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
226 return this->MaximumHardwareLineWidth; };
235 long OldMonitorSetting;
242 unsigned char*
data);
249 int CreateHardwareOffScreenWindow(
int width,
int height);
254 void DestroyHardwareOffScreenWindow();
257 int OffScreenUseFrameBuffer;
261 int NumberOfFrameBuffers;
262 unsigned int TextureObjects[4];
263 unsigned int FrameBufferObject;
264 unsigned int DepthRenderBufferObject;
268 virtual void CreateAWindow() = 0;
274 virtual void ReleaseGraphicsResources();
284 void RestoreGLState();
288 unsigned int BackLeftBuffer;
289 unsigned int BackRightBuffer;
290 unsigned int FrontLeftBuffer;
291 unsigned int FrontRightBuffer;
292 unsigned int FrontBuffer;
293 unsigned int BackBuffer;
295 #ifndef VTK_LEGACY_REMOVE GLsizei GLsizei GLenum GLenum const GLvoid * data
VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYWINDOWPROC DestroyWindow
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
GLint GLint GLint GLint GLint GLint y
#define vtkTypeMacro(thisClass, superclass)
GLint GLint GLsizei GLsizei height
virtual unsigned char * GetRGBACharPixelData(int x, int y, int x2, int y2, int front)=0
GLint GLint GLint GLint GLint x
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
GLint GLint GLsizei width
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()
#define vtkGetObjectMacro(name, type)
dynamic, self-adjusting array of unsigned char
#define VTK_LEGACY(method)
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.