VTK  9.4.20250303
vtkExternalOpenGLRenderer.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
24#ifndef vtkExternalOpenGLRenderer_h
25#define vtkExternalOpenGLRenderer_h
26
27#include "vtkOpenGLRenderer.h"
28#include "vtkRenderingExternalModule.h" // For export macro
29
30// Forward declarations
31VTK_ABI_NAMESPACE_BEGIN
34
35class VTKRENDERINGEXTERNAL_EXPORT vtkExternalOpenGLRenderer : public vtkOpenGLRenderer
36{
37public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
45 void Render() override;
46
51 vtkCamera* MakeCamera() override;
52
57
62
67
74 vtkGetMacro(PreserveGLCameraMatrices, vtkTypeBool);
75 vtkSetMacro(PreserveGLCameraMatrices, vtkTypeBool);
76 vtkBooleanMacro(PreserveGLCameraMatrices, vtkTypeBool);
77
83 vtkGetMacro(PreserveGLLights, vtkTypeBool);
84 vtkSetMacro(PreserveGLLights, vtkTypeBool);
85 vtkBooleanMacro(PreserveGLLights, vtkTypeBool);
86
87protected:
90
97
104
107
109
110private:
112 void operator=(const vtkExternalOpenGLRenderer&) = delete;
113};
114
115VTK_ABI_NAMESPACE_END
116#endif // vtkExternalOpenGLRenderer_h
a virtual camera for 3D rendering
Definition vtkCamera.h:151
a virtual light object for tweaking existing lights in an external 3D rendering context
virtual void RemoveExternalLight(vtkExternalLight *)
Remove an external light from the list of external lights.
void SynchronizeGLCameraMatrices()
Copy the current OpenGL GL_MODELVIEW_MATRIX and GL_PROJECTION_MATRIX to the active VTK camera before ...
vtkCamera * MakeCamera() override
Create a new Camera sutible for use with this type of Renderer.
~vtkExternalOpenGLRenderer() override
virtual void AddExternalLight(vtkExternalLight *)
Add an external light to the list of external lights.
static vtkExternalOpenGLRenderer * New()
virtual void RemoveAllExternalLights()
Remove all external lights.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Render() override
Synchronize camera and light parameters.
void SynchronizeGLLights()
Query existing GL lights before each render call and tweak them to match the external lights collecti...
a simple class to control print indentation
Definition vtkIndent.h:108
an ordered list of lights
OpenGL renderer.
int vtkTypeBool
Definition vtkABI.h:64