24 #ifndef vtkOpenGLRenderWindow_h 25 #define vtkOpenGLRenderWindow_h 27 #include "vtkRenderingOpenGL2Module.h" 44 class VertexArrayObject;
51 void PrintSelf(ostream& os,
vtkIndent indent);
55 static void SetGlobalMaximumNumberOfMultiSamples(
int val);
56 static int GetGlobalMaximumNumberOfMultiSamples();
60 virtual void StereoUpdate();
64 virtual unsigned char *GetPixelData(
int x,
int y,
int x2,
int y2,
int front);
65 virtual int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
67 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
unsigned char *
data,
69 virtual int SetPixelData(
int x,
int y,
int x2,
int y2,
75 virtual float *GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front);
76 virtual int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
78 virtual int SetRGBAPixelData(
int x,
int y,
int x2,
int y2,
float *
data,
79 int front,
int blend=0);
81 int front,
int blend=0);
82 virtual void ReleaseRGBAPixelData(
float *
data);
83 virtual unsigned char *GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
85 virtual int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
87 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
88 unsigned char *
data,
int front,
90 virtual int SetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
97 virtual float *GetZbufferData(
int x1,
int y1,
int x2,
int y2 );
98 virtual int GetZbufferData(
int x1,
int y1,
int x2,
int y2,
float*
z );
99 virtual int GetZbufferData(
int x1,
int y1,
int x2,
int y2,
101 virtual int SetZbufferData(
int x1,
int y1,
int x2,
int y2,
float *
buffer );
102 virtual int SetZbufferData(
int x1,
int y1,
int x2,
int y2,
117 int GetDepthBufferSize();
121 int GetColorBufferSizes(
int *rgba);
124 virtual void OpenGLInit();
127 virtual void OpenGLInitState();
130 virtual void OpenGLInitContext();
134 static bool GetContextSupportsOpenGL32();
135 void SetContextSupportsOpenGL32(
bool val);
143 unsigned int GetBackLeftBuffer();
150 unsigned int GetBackRightBuffer();
157 unsigned int GetFrontLeftBuffer();
164 unsigned int GetFrontRightBuffer();
171 unsigned int GetBackBuffer();
178 unsigned int GetFrontBuffer();
184 VTK_LEGACY(
virtual const char *GetLastGraphicErrorString());
188 virtual unsigned long GetContextCreationTime();
201 virtual void WaitForCompletion();
207 static void RenderQuad(
208 float *verts,
float *tcoords,
214 virtual void DrawPixels(
int x1,
int y1,
int x2,
int y2,
215 int numComponents,
int dataType,
void *
data);
221 virtual void DrawPixels(
222 int dstXmin,
int dstYmin,
int dstXmax,
int dstYmax,
223 int srcXmin,
int srcYmin,
int srcXmax,
int srcYmax,
224 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
230 virtual void DrawPixels(
231 int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void *
data);
240 long OldMonitorSetting;
244 int GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
unsigned char*
data);
245 int GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
float*
data);
246 int GetRGBACharPixelData(
int x,
int y,
int x2,
int y2,
int front,
247 unsigned char*
data);
254 int CreateHardwareOffScreenWindow(
int width,
int height);
259 void DestroyHardwareOffScreenWindow();
262 int OffScreenUseFrameBuffer;
266 int NumberOfFrameBuffers;
267 unsigned int TextureObjects[4];
268 unsigned int FrameBufferObject;
269 unsigned int DepthRenderBufferObject;
273 virtual void CreateAWindow() = 0;
279 virtual void ReleaseGraphicsResources();
284 unsigned int BackLeftBuffer;
285 unsigned int BackRightBuffer;
286 unsigned int FrontLeftBuffer;
287 unsigned int FrontRightBuffer;
288 unsigned int FrontBuffer;
289 unsigned int BackBuffer;
291 #ifndef VTK_LEGACY_REMOVE 294 unsigned int LastGraphicError;
GLsizei GLsizei GLenum GLenum const GLvoid * data
VTKRENDERINGOPENGL_EXPORT PFNGLXDESTROYWINDOWPROC DestroyWindow
Wrapper around std::string to keep symbols short.
manage Shader Programs within a context
record modification and/or execution time
dynamic, self-adjusting array of float
GLint GLint GLint GLint GLint GLint y
#define vtkTypeMacro(thisClass, superclass)
GLint GLint GLsizei GLsizei height
GLint GLint GLint GLint GLint x
std::map< const vtkTextureObject *, int > TextureResourceIds
a simple class to control print indentation
vtkTextureObject * DrawPixelsTextureObject
list of point or cell ids
GLint GLint GLsizei width
handles properties associated with a texture map
The VertexArrayObject class uses, or emulates, vertex array objects.
#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
The ShaderProgram uses one or more Shader objects.