 |
VTK
9.0.1
|
Go to the documentation of this file.
25 #ifndef vtkOpenGLRenderWindow_h
26 #define vtkOpenGLRenderWindow_h
30 #include "vtkRenderingOpenGL2Module.h"
39 class vtkOpenGLHardwareSupport;
85 unsigned char*
GetPixelData(
int x,
int y,
int x2,
int y2,
int front,
int right)
override;
89 int x,
int y,
int x2,
int y2,
unsigned char*
data,
int front,
int right)
override;
98 float*
GetRGBAPixelData(
int x,
int y,
int x2,
int y2,
int front,
int right = 0)
override;
100 int x,
int y,
int x2,
int y2,
int front,
vtkFloatArray*
data,
int right = 0)
override;
102 int x,
int y,
int x2,
int y2,
float*
data,
int front,
int blend = 0,
int right = 0)
override;
104 int right = 0)
override;
107 int x,
int y,
int x2,
int y2,
int front,
int right = 0)
override;
111 int blend = 0,
int right = 0)
override;
113 int blend = 0,
int right = 0)
override;
282 int x1,
int y1,
int x2,
int y2,
int numComponents,
int dataType,
void*
data);
288 virtual void DrawPixels(
int dstXmin,
int dstYmin,
int dstXmax,
int dstYmax,
int srcXmin,
289 int srcYmin,
int srcXmax,
int srcYmax,
int srcWidth,
int srcHeight,
int numComponents,
290 int dataType,
void*
data);
296 virtual void DrawPixels(
int srcWidth,
int srcHeight,
int numComponents,
int dataType,
void*
data);
317 int vtktype,
int numComponents,
bool needInteger,
bool needFloat,
bool needSRGB);
344 std::set<vtkGenericOpenGLResourceFreeCallback*>
Resources;
348 std::set<vtkGenericOpenGLResourceFreeCallback*>::iterator it = this->Resources.find(cb);
349 if (it == this->Resources.end())
351 this->Resources.insert(cb);
357 std::set<vtkGenericOpenGLResourceFreeCallback*>::iterator it = this->Resources.find(cb);
358 if (it != this->Resources.end())
360 this->Resources.erase(it);
389 vtkGetMacro(DefaultFrameBufferId,
unsigned int);
453 const vtkRecti& rect,
int front,
int glFormat,
int glType,
void*
data,
int right = 0);
void StereoMidpoint() override
Intermediate method performs operations required between the rendering of the left and right eye.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkMTimeType GetContextCreationTime()
Get the time when the OpenGL context was created.
virtual void OpenGLInit()
Initialize OpenGL for this window.
void GetOpenGLVersion(int &major, int &minor)
Get the major and minor version numbers of the OpenGL context we are using ala 3.2,...
void SetSize(int a[2]) override
virtual float GetMaximumHardwareLineWidth()
Return the largest line width supported by the hardware.
void RegisterGraphicsResources(vtkGenericOpenGLResourceFreeCallback *cb)
void ActivateTexture(vtkTextureObject *)
Activate a texture unit for this texture.
virtual void DrawPixels(int x1, int y1, int x2, int y2, int numComponents, int dataType, void *data)
Replacement for the old glDrawPixels function.
int SupportsOpenGL() override
Does this render window support OpenGL? 0-false, 1-true.
int SetRGBAPixelData(int x, int y, int x2, int y2, vtkFloatArray *data, int front, int blend=0, int right=0) override
vtkOpenGLBufferObject * GetTQuad2DVBO()
int GetColorBufferSizes(int *rgba) override
Get the size of the color buffer.
unsigned int DefaultFrameBufferId
float MaximumHardwareLineWidth
virtual void DrawPixels(int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
Replacement for the old glDrawPixels function.
dynamic, self-adjusting array of float
virtual bool SetSwapControl(int)
Set the number of vertical syncs required between frames.
std::string GetOpenGLSupportMessage()
Return a message profiding additional details about the results of calling SupportsOpenGL() This can ...
record modification and/or execution time
dynamic, self-adjusting array of unsigned char
Internal class which encapsulates OpenGL FramebufferObject.
virtual int ReadPixels(const vtkRecti &rect, int front, int glFormat, int glType, void *data, int right=0)
int SetPixelData(int x, int y, int x2, int y2, unsigned char *data, int front, int right) override
Set/Get the pixel data of an image, transmitted as RGBRGBRGB.
int GetPixelData(int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right) override
vtkOpenGLVertexBufferObjectCache * GetVBOCache()
Returns the VBO Cache.
void UnregisterGraphicsResources(vtkGenericOpenGLResourceFreeCallback *cb)
vtkTextureObject * DrawPixelsTextureObject
unsigned int GetBackLeftBuffer()
Return the OpenGL name of the back left buffer.
bool GetBufferNeedsResolving()
int GetDepthBufferSize() override
Get the size of the depth buffer.
unsigned int FrontRightBuffer
std::string OpenGLSupportMessage
unsigned int GetBackRightBuffer()
Return the OpenGL name of the back right buffer.
virtual void DrawPixels(int dstXmin, int dstYmin, int dstXmax, int dstYmax, int srcXmin, int srcYmin, int srcXmax, int srcYmax, int srcWidth, int srcHeight, int numComponents, int dataType, void *data)
Replacement for the old glDrawPixels function, but it allows for scaling the data and using only part...
const char * GetRenderingBackend() override
What rendering backend has the user requested.
virtual void PopContext()
window superclass for vtkRenderWindow
float * GetRGBAPixelData(int x, int y, int x2, int y2, int front, int right=0) override
Set/Get the pixel data of an image, transmitted as RGBARGBA...
void ReleaseGraphicsResources(vtkWindow *) override
Free up any graphics resources associated with this window a value of NULL means the context may alre...
void SaveGLState()
Query and save OpenGL state.
vtkTimeStamp ContextCreationTime
handles properties associated with a texture map
allocate/free texture units.
void DeactivateTexture(vtkTextureObject *)
Deactivate a previously activated texture.
void End() override
Update the system, if needed, at end of render process.
void Render() override
Handle opengl specific code and calls superclass.
int GetTextureUnitForTexture(vtkTextureObject *)
Get the texture unit for a given texture object.
bool InitializeFromCurrentContext() override
Initialize the render window from the information associated with the currently activated OpenGL cont...
virtual void OpenGLInitState()
The ShaderProgram uses one or more Shader objects.
int OwnContext
Flag telling if the context has been created here or was inherited.
int GetZbufferData(int x1, int y1, int x2, int y2, float *z) override
void MakeCurrent() override
Attempt to make this window the current graphics context for the calling thread.
virtual void OpenGLInitContext()
a simple class to control print indentation
abstracts an OpenGL texture object.
float * GetZbufferData(int x1, int y1, int x2, int y2) override
Set/Get the zbuffer data from an image.
unsigned int GetFrontBuffer()
Return the OpenGL name of the front left buffer.
int SetRGBACharPixelData(int x, int y, int x2, int y2, unsigned char *data, int front, int blend=0, int right=0) override
int CreateOffScreenFramebuffer(int width, int height)
Create the offScreen framebuffer Return if the creation was successful or not.
unsigned int FrontLeftBuffer
vtkTextureObject * NoiseTextureObject
list of point or cell ids
virtual vtkOpenGLState * GetState()
void ReleaseRGBAPixelData(float *data) override
bool GetUsingSRGBColorSpace()
Is this window/fo in sRGB colorspace.
manage Shader Programs within a context
unsigned int GetBackBuffer()
Return the OpenGL name of the back left buffer.
vtkTextureUnitManager * GetTextureUnitManager()
Returns its texture unit manager object.
virtual bool IsPointSpriteBugPresent()
Returns true if driver has an EGL/OpenGL bug that makes vtkChartsCoreCxx-TestChartDoubleColors and ot...
unsigned char * GetPixelData(int x, int y, int x2, int y2, int front, int right) override
Set/Get the pixel data of an image, transmitted as RGBRGB...
void RestoreGLState()
Restore OpenGL state at end of the rendering.
unsigned int GetFrontLeftBuffer()
Return the OpenGL name of the front left buffer.
const char * ReportCapabilities() override
Get report of capabilities for the render window.
void SetSize(int width, int height) override
Set the size (width and height) of the rendering window in screen coordinates (in pixels).
int GetRGBAPixelData(int x, int y, int x2, int y2, int front, vtkFloatArray *data, int right=0) override
unsigned int GetFrontRightBuffer()
Return the OpenGL name of the front right buffer.
int SetPixelData(int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int right) override
void Frame() override
A termination method performed at the end of the rendering process to do things like swapping buffers...
int GetColorBufferInternalFormat(int attachmentPoint)
Get the internal format of current attached texture or render buffer.
unsigned char * GetRGBACharPixelData(int x, int y, int x2, int y2, int front, int right=0) override
int SetRGBACharPixelData(int x, int y, int x2, int y2, vtkUnsignedCharArray *data, int front, int blend=0, int right=0) override
unsigned int BackRightBuffer
int GetNoiseTextureUnit()
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
manage vertex buffer objects shared within a context
int GetZbufferData(int x1, int y1, int x2, int y2, vtkFloatArray *z) override
static int GetGlobalMaximumNumberOfMultiSamples()
int SetZbufferData(int x1, int y1, int x2, int y2, float *buffer) override
std::map< std::string, int > GLStateIntegers
int SetZbufferData(int x1, int y1, int x2, int y2, vtkFloatArray *buffer) override
unsigned int BackLeftBuffer
int GetRGBACharPixelData(int x, int y, int x2, int y2, int front, vtkUnsignedCharArray *data, int right=0) override
create a window for renderers to draw into
vtkOpenGLFramebufferObject * OffScreenFramebuffer
Wrapper around std::string to keep symbols short.
void Start(void) override
Begin the rendering process.
vtkOpenGLBufferObject * TQuad2DVBO
static void SetGlobalMaximumNumberOfMultiSamples(int val)
Set/Get the maximum number of multisamples.
virtual void PushContext()
Ability to push and pop this window's context as the current context.
std::set< vtkGenericOpenGLResourceFreeCallback * > Resources
~vtkOpenGLRenderWindow() override
void WaitForCompletion() override
Block the thread until the actual rendering is finished().
The VertexArrayObject class uses, or emulates, vertex array objects.
vtkOpenGLShaderCache * GetShaderCache()
Returns an Shader Cache object.
virtual void Initialize(void)
Initialize the rendering window.
virtual void CreateAWindow()=0
Create a not-off-screen window.
vtkTypeUInt32 vtkMTimeType
int SetRGBAPixelData(int x, int y, int x2, int y2, float *data, int front, int blend=0, int right=0) override
int GetDefaultTextureInternalFormat(int vtktype, int numComponents, bool needInteger, bool needFloat, bool needSRGB)
Get a mapping of vtk data types to native texture formats for this window we put this on the RenderWi...