VTK  9.6.2
vtkRenderer.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
25
26#ifndef vtkRenderer_h
27#define vtkRenderer_h
28
29#include "vtkRenderingCoreModule.h" // For export macro
30#include "vtkViewport.h"
31#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
32
33#include "vtkActorCollection.h" // Needed for access in inline members
34#include "vtkMatrix3x3.h"
35#include "vtkVolumeCollection.h" // Needed for access in inline members
36
37#include <array> // To store matrices
38
39VTK_ABI_NAMESPACE_BEGIN
40class vtkFXAAOptions;
41class vtkRenderWindow;
42class vtkVolume;
43class vtkCuller;
44class vtkActor;
45class vtkActor2D;
46class vtkCamera;
48class vtkInformation;
51class vtkLight;
54class vtkRenderPass;
55class vtkTexture;
56
57class vtkRecti;
58class vtkVector3d;
59
60class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderer : public vtkViewport
61{
62public:
63 vtkTypeMacro(vtkRenderer, vtkViewport);
64 void PrintSelf(ostream& os, vtkIndent indent) override;
65
71 static vtkRenderer* New();
72
74
80 void AddActor(vtkProp* p);
88
94
100
106
111
119
124
130 virtual vtkLight* MakeLight();
131
133
141 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
143
145
162
164
176
183
189
195
200
207
214
216
222 vtkSetMacro(Erase, vtkTypeBool);
223 vtkGetMacro(Erase, vtkTypeBool);
224 vtkBooleanMacro(Erase, vtkTypeBool);
226
228
233 vtkSetMacro(Draw, vtkTypeBool);
234 vtkGetMacro(Draw, vtkTypeBool);
235 vtkBooleanMacro(Draw, vtkTypeBool);
237
243
250
256
262
267
269
272 vtkSetVector3Macro(Ambient, double);
273 vtkGetVectorMacro(Ambient, double, 3);
275
277
281 vtkSetMacro(AllocatedRenderTime, double);
282 virtual double GetAllocatedRenderTime();
284
291 virtual double GetTimeFactor();
292
299 virtual void Render();
300
304 virtual void DeviceRender() {}
305
313
324
329 virtual void ClearLights() {}
330
334 virtual void Clear() {}
335
340
345
350 void ComputeVisiblePropBounds(double bounds[6]);
351
356
362
364
367 virtual void ResetCameraClippingRange(const double bounds[6]);
369 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
371
373
378 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
379 vtkGetMacro(NearClippingPlaneTolerance, double);
381
383
388 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
389 vtkGetMacro(ClippingRangeExpansion, double);
391
399 virtual bool ResetCamera();
400
410 virtual void ResetCamera(const double bounds[6]);
411
415 virtual void ResetCamera(
416 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
417
426 virtual bool ResetCameraScreenSpace(double offsetRatio = 0.9);
427
436 virtual void ResetCameraScreenSpace(const double bounds[6], double offsetRatio = 0.9);
437
439
444
450 void ZoomToBoxUsingViewAngle(const vtkRecti& box, double offsetRatio = 1.0);
451
458 virtual void ResetCameraScreenSpace(double xmin, double xmax, double ymin, double ymax,
459 double zmin, double zmax, double offsetRatio = 0.9);
460
462
471
473
481 vtkBooleanMacro(BackingStore, vtkTypeBool);
483
485
492 vtkBooleanMacro(Interactive, vtkTypeBool);
494
496
507 virtual void SetLayer(int layer);
508 vtkGetMacro(Layer, int);
510
512
526
528
536
542
546 void WorldToView() override;
547
549
552 void ViewToWorld() override;
553 void ViewToWorld(double& wx, double& wy, double& wz) override;
555
559 void WorldToView(double& wx, double& wy, double& wz) override;
560
562
565 void WorldToPose(double& wx, double& wy, double& wz) override;
566 void PoseToWorld(double& wx, double& wy, double& wz) override;
567 void ViewToPose(double& wx, double& wy, double& wz) override;
568 void PoseToView(double& wx, double& wy, double& wz) override;
570
580 double GetZ(int x, int y);
581
583
590 vtkSetMacro(SafeGetZ, bool);
591 vtkGetMacro(SafeGetZ, bool);
592 vtkBooleanMacro(SafeGetZ, bool);
594
599
601
604 vtkGetMacro(LastRenderTimeInSeconds, double);
606
608
614 vtkGetMacro(NumberOfPropsRendered, int);
616
618
625 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
626 {
627 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
628 }
630 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
632
634
644 vtkAssemblyPath* PickProp(double selectionX, double selectionY, int fieldAssociation,
645 vtkSmartPointer<vtkSelection> selection) override
646 {
647 return this->PickProp(
648 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
649 }
650 vtkAssemblyPath* PickProp(double selectionX1, double selectionY1, double selectionX2,
651 double selectionY2, int fieldAssociation, vtkSmartPointer<vtkSelection> selection) override;
653
659 virtual void StereoMidpoint() {}
660
668
674 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
675
677
689 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
691
697 vtkSetMacro(UseDepthPeelingForVolumes, bool);
698 vtkGetMacro(UseDepthPeelingForVolumes, bool);
699 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
700
702
711 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
712 vtkGetMacro(OcclusionRatio, double);
714
716
721 vtkSetMacro(MaximumNumberOfPeels, int);
722 vtkGetMacro(MaximumNumberOfPeels, int);
724
726
733
735
739 vtkSetMacro(UseSSAO, bool);
740 vtkGetMacro(UseSSAO, bool);
741 vtkBooleanMacro(UseSSAO, bool);
743
745
749 vtkSetMacro(SSAORadius, double);
750 vtkGetMacro(SSAORadius, double);
752
754
758 vtkSetMacro(SSAOBias, double);
759 vtkGetMacro(SSAOBias, double);
761
763
767 vtkSetMacro(SSAOKernelSize, unsigned int);
768 vtkGetMacro(SSAOKernelSize, unsigned int);
770
772
777 vtkSetMacro(SSAOBlur, bool);
778 vtkGetMacro(SSAOBlur, bool);
779 vtkBooleanMacro(SSAOBlur, bool);
781
783
790 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
792
794
799 vtkGetObjectMacro(Selector, vtkHardwareSelector);
801
803
811 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
813
815
822
824
828 vtkSetMacro(TexturedBackground, bool);
829 vtkGetMacro(TexturedBackground, bool);
830 vtkBooleanMacro(TexturedBackground, bool);
832
833 // method to release graphics resources in any derived renderers.
835
837
840 vtkSetMacro(UseFXAA, bool);
841 vtkGetMacro(UseFXAA, bool);
842 vtkBooleanMacro(UseFXAA, bool);
844
846
849 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
852
854
858 vtkSetMacro(UseShadows, vtkTypeBool);
859 vtkGetMacro(UseShadows, vtkTypeBool);
860 vtkBooleanMacro(UseShadows, vtkTypeBool);
862
864
872
873 // Set/Get a custom render pass.
874 // Initial value is NULL.
876 vtkGetObjectMacro(Pass, vtkRenderPass);
877
879
882 vtkGetObjectMacro(Information, vtkInformation);
885
887
893 vtkSetMacro(UseImageBasedLighting, bool);
894 vtkGetMacro(UseImageBasedLighting, bool);
895 vtkBooleanMacro(UseImageBasedLighting, bool);
897
899
904 VTK_MARSHALGETTER(EnvironmentTextureProperty)
905 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
906 VTK_MARSHALSETTER(EnvironmentTextureProperty)
908 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
910
912
919 virtual double* GetEnvironmentUp();
920 virtual void GetEnvironmentUp(double& vectorUpX, double& vectorUpY, double& vectorUpZ);
921 virtual void GetEnvironmentUp(double vectorUp[3]);
922 virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ);
923 virtual void SetEnvironmentUp(double vectorUp[3]);
925
927
934 virtual double* GetEnvironmentRight();
936 double& vectorRightX, double& vectorRightY, double& vectorRightZ);
937 virtual void GetEnvironmentRight(double vectorRight[3]);
938 virtual void SetEnvironmentRight(double vectorRightX, double vectorRightY, double vectorRightZ);
939 virtual void SetEnvironmentRight(double vectorRight[3]);
941
943
948 vtkGetSmartPointerMacro(EnvironmentRotationMatrix, vtkMatrix3x3);
951
953
964 vtkSetMacro(UseOIT, bool);
965 vtkGetMacro(UseOIT, bool);
966 vtkBooleanMacro(UseOIT, bool);
968
969protected:
971 ~vtkRenderer() override;
972
973 // internal method to expand bounding box to consider model transform
974 // matrix or model view transform matrix based on whether or not deering
975 // frustum is used. 'bounds' buffer is mutated to the expanded box.
976 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
977
980
983
986
987 double Ambient[3];
994 unsigned char* BackingImage;
997
999
1001
1002 // Allocate the time for each prop
1004
1005 // Internal variables indicating the number of props
1006 // that have been or will be rendered in each category.
1008
1009 // A temporary list of props used for culling, and traversal
1010 // of all props when rendering
1013
1014 // Indicates if the renderer should receive events from an interactor.
1015 // Typically only used in conjunction with transparent renderers.
1017
1018 // Shows what layer this renderer belongs to. Only of interested when
1019 // there are layered renderers.
1023
1024 // Holds the result of ComputeVisiblePropBounds so that it is visible from
1025 // wrapped languages
1027
1036
1042
1050
1057
1062
1067 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1068
1073 const std::array<double, 16>& GetProjectionTransformationMatrix();
1074
1079 const std::array<double, 16>& GetViewTransformMatrix();
1080
1086 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1087
1096
1103
1108 virtual int UpdateCamera();
1109
1116
1121 virtual int UpdateLights() { return 0; }
1122
1129
1135
1140
1146
1152
1160
1166
1177
1184
1185 bool UseSSAO = false;
1186 double SSAORadius = 0.5;
1187 double SSAOBias = 0.01;
1188 unsigned int SSAOKernelSize = 32;
1189 bool SSAOBlur = false;
1190
1202 bool UseOIT = true;
1203
1210
1211 // HARDWARE SELECTION ----------------------------------------
1213
1218 {
1219 this->Selector = selector;
1220 this->Modified();
1221 }
1222
1223 // End Ivars for visible cell selecting.
1225
1226 //---------------------------------------------------------------
1229
1233
1234 friend class vtkRenderPass;
1236
1237 // Arbitrary extra information associated with this renderer
1239
1242
1243private:
1247 void ComputeRotationMatrixForwardVector();
1248
1252 std::array<double, 16> CompositeProjectionTransformationMatrix;
1253
1257 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1258
1262 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1263
1267 std::array<double, 16> ProjectionTransformationMatrix;
1268
1272 double LastProjectionTransformationMatrixTiledAspectRatio;
1273
1277 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1278
1282 std::array<double, 16> ViewTransformMatrix;
1283
1287 vtkMTimeType LastViewTransformCameraModified;
1288
1292 bool SafeGetZ = false;
1293
1297 vtkSmartPointer<vtkMatrix3x3> EnvironmentRotationMatrix;
1298
1303 double EnvironmentUp[3] = { 0.0, 1.0, 0.0 };
1304 double EnvironmentRight[3] = { 1.0, 0.0, 0.0 };
1305
1306 vtkRenderer(const vtkRenderer&) = delete;
1307 void operator=(const vtkRenderer&) = delete;
1308};
1309
1311{
1312 return this->Lights;
1313}
1314
1319{
1320 return this->Cullers;
1321}
1322
1323VTK_ABI_NAMESPACE_END
1324#endif
a actor that draws 2D data
Definition vtkActor2D.h:36
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:42
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition vtkCamera.h:42
an ordered list of Cullers
a superclass for prop cullers
Definition vtkCuller.h:31
Configuration for FXAA implementations.
abstract interface to OpenGL FBOs
a simple class to control print indentation
Definition vtkIndent.h:29
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition vtkLight.h:50
represent and manipulate 3x3 transformation matrices
represent and manipulate 4x4 transformation matrices
virtual void Modified()
Update the modification time for this object.
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:47
Perform part of the rendering of a vtkRenderer.
create a window for renderers to draw into
Render the props of a vtkRenderer.
virtual void GetEnvironmentRight(double vectorRight[3])
Set/Get the environment right vector.
void RemoveVolume(vtkProp *p)
Add/Remove different types of props to the renderer.
virtual void SetLayer(int layer)
Set/Get the layer that this renderer belongs to.
vtkCamera * GetActiveCameraAndResetIfCreated()
Get the current camera and reset it only if it gets created automatically (see GetActiveCamera).
void ViewToWorld(double &wx, double &wy, double &wz) override
Convert view point coordinates to world coordinates.
virtual void SetFXAAOptions(vtkFXAAOptions *)
The configuration object for FXAA antialiasing.
virtual int UpdateCamera()
Ask the active camera to do whatever it needs to do prior to rendering.
void SetEnvironmentRotationMatrix(vtkMatrix3x3 *matrix)
Set/Get the environment rotation matrix.
virtual void GetEnvironmentUp(double &vectorUpX, double &vectorUpY, double &vectorUpZ)
Set/Get the environment up vector.
vtkAssemblyPath * PickProp(double selectionX, double selectionY, int fieldAssociation, vtkSmartPointer< vtkSelection > selection) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
friend class vtkRendererDelegate
vtkCamera * GetActiveCamera()
Get the current camera.
virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ)
Set/Get the environment up vector.
void AddCuller(vtkCuller *)
Add an culler to the list of cullers.
virtual vtkTypeBool UpdateLightGeometry()
Update the geometry of the lights in the scene that are not in world space (for instance,...
void SetPass(vtkRenderPass *p)
virtual int UpdateLights()
Ask all lights to load themselves into rendering pipeline.
vtkTypeBool PreserveDepthBuffer
vtkLight * CreatedLight
vtkRenderPass * Pass
virtual void GetEnvironmentRight(double &vectorRightX, double &vectorRightY, double &vectorRightZ)
Set/Get the environment right vector.
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off.
double SSAOBias
vtkActorCollection * GetActors()
Return any actors in this renderer.
const std::array< double, 16 > & GetViewTransformMatrix()
Gets the ActiveCamera ViewTransformMatrix, only computing it if necessary.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double LastRenderTimeInSeconds
double GetTiledAspectRatio()
Compute the aspect ratio of this renderer for the current tile.
void CreateLight()
Create and add a light to renderer.
vtkAssemblyPath * PickProp(double selectionX1, double selectionY1, double selectionX2, double selectionY2, int fieldAssociation, vtkSmartPointer< vtkSelection > selection) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
void AddLight(vtkLight *)
Add a light to the list of lights.
vtkCullerCollection * GetCullers()
Return the collection of cullers.
virtual vtkCamera * MakeCamera()
Create a new Camera sutible for use with this type of Renderer.
virtual void SetRightBackgroundTexture(vtkTexture *)
Set/Get the texture to be used for the right eye background.
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with this algorithm.
~vtkRenderer() override
virtual int UpdateGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Ask all props to update and draw any opaque and translucent geometry.
bool UseImageBasedLighting
int VisibleActorCount()
Returns the number of visible actors.
vtkVector3d DisplayToWorld(const vtkVector3d &display)
Convert a vtkVector3d from display space to world space.
virtual bool ResetCameraScreenSpace(double offsetRatio=0.9)
Automatically set up the camera based on the visible actors.
double ComputedVisiblePropBounds[6]
virtual void GetEnvironmentUp(double vectorUp[3])
Set/Get the environment up vector.
virtual void SetEnvironmentRight(double vectorRight[3])
Set/Get the environment right vector.
vtkTypeBool BackingStore
const std::array< double, 16 > & GetCompositeProjectionTransformationMatrix()
Gets the ActiveCamera CompositeProjectionTransformationMatrix, only computing it if necessary.
virtual vtkLight * MakeLight()
Create a new Light sutible for use with this type of Renderer.
vtkTexture * EnvironmentTexture
void RemoveLight(vtkLight *)
Remove a light from the list of lights.
bool UseDepthPeelingForVolumes
This flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry.
void RemoveActor(vtkProp *p)
Add/Remove different types of props to the renderer.
virtual void SetLeftBackgroundTexture(vtkTexture *)
Set/Get the texture to be used for the monocular or stereo left eye background.
void SetSelector(vtkHardwareSelector *selector)
Called by vtkHardwareSelector when it begins rendering for selection.
vtkMTimeType GetMTime() override
Return the MTime of the renderer also considering its ivars.
int MaximumNumberOfPeels
In case of depth peeling, define the maximum number of peeling layers.
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling.
void AllocateTime()
vtkRenderWindow * RenderWindow
int VisibleVolumeCount()
Returns the number of visible volumes.
vtkTypeBool AutomaticLightCreation
int NumberOfPropsRendered
double Ambient[3]
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render.
virtual int UpdateOpaquePolygonalGeometry()
Ask all props to update and draw any opaque polygonal geometry.
void SetEnvironmentTextureProperty(vtkTexture *texture)
Set/Get the environment texture used for image based lighting.
double TimeFactor
bool TexturedBackground
vtkVolumeCollection * Volumes
bool UseOIT
If UseOIT is on and there are translucent props in the scene, the renderer will use the OrderIndepend...
vtkWindow * GetVTKWindow() override
Specify the rendering window in which to draw.
virtual void ExpandBounds(double bounds[6], vtkMatrix4x4 *matrix)
void RemoveCuller(vtkCuller *)
Remove an actor from the list of cullers.
virtual double * GetEnvironmentRight()
Set/Get the environment right vector.
virtual void ResetCameraClippingRange()
Reset the camera clipping range based on the bounds of the visible actors.
virtual double * GetEnvironmentUp()
Set/Get the environment up vector.
double OcclusionRatio
In case of use of depth peeling technique for rendering translucent material, define the threshold un...
const std::array< double, 16 > & GetProjectionTransformationMatrix()
Gets the ActiveCamera ProjectionTransformationMatrix, only computing it if necessary.
friend class vtkRenderPass
virtual bool ResetCamera()
Automatically set up the camera based on the visible actors.
void PoseToView(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer.
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene.
vtkVolumeCollection * GetVolumes()
Return the collection of volumes.
vtkTexture * GetLeftBackgroundTexture()
Set/Get the texture to be used for the monocular or stereo left eye background.
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
vtkAssemblyPath * PickProp(double selectionX1, double selectionY1, double selectionX2, double selectionY2) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
void ZoomToBoxUsingViewAngle(const vtkRecti &box, double offsetRatio=1.0)
Automatically set up the camera focal point and zoom factor to observe the box in display coordinates...
int CaptureGL2PSSpecialProp(vtkProp *)
This function is called to capture an instance of vtkProp that requires special handling during vtkRe...
vtkTypeBool Transparent()
Returns a boolean indicating if this renderer is transparent.
vtkTypeBool IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
int BackingStoreSize[2]
unsigned char * BackingImage
static vtkRenderer * New()
Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on,...
vtkRendererDelegate * Delegate
void SetLightCollection(vtkLightCollection *lights)
Set the collection of lights.
virtual void ReleaseGraphicsResources(vtkWindow *)
virtual void SetEnvironmentRight(double vectorRightX, double vectorRightY, double vectorRightZ)
Set/Get the environment right vector.
void PoseToWorld(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
void RemoveAllLights()
Remove all lights from the list of lights.
vtkTexture * BackgroundTexture
double GetZ(int x, int y)
Given a pixel location, return the Z value.
friend class vtkHardwareSelector
vtkProp ** PropArray
double * ComputeVisiblePropBounds()
Wrapper-friendly version of ComputeVisiblePropBounds.
vtkCullerCollection * Cullers
virtual void SetEnvironmentUp(double vectorUp[3])
Set/Get the environment up vector.
void AddActor(vtkProp *p)
Add/Remove different types of props to the renderer.
virtual double GetTimeFactor()
Get the ratio between allocated time and actual render time.
double AllocatedRenderTime
vtkRenderWindow * GetRenderWindow()
Specify the rendering window in which to draw.
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
vtkTypeBool Draw
When this flag is off, render commands are ignored.
vtkHardwareSelector * Selector
virtual void DeviceRender()
Create an image.
vtkTypeBool TwoSidedLighting
vtkTexture * RightBackgroundTexture
virtual vtkTypeBool UpdateLightsGeometryToFollowCamera()
Ask the lights in the scene that are not in world space (for instance, Headlights or CameraLights tha...
vtkTypeBool UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
vtkTypeBool UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
void WorldToPose(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
vtkLightCollection * Lights
void ViewToWorld() override
Convert view point coordinates to world coordinates.
void SetActiveCamera(vtkCamera *)
Specify the camera to use for this renderer.
virtual void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false)
Set/Get the environment texture used for image based lighting.
vtkTimeStamp RenderTime
virtual void Render()
CALLED BY vtkRenderWindow ONLY.
virtual int UpdateTranslucentPolygonalGeometry()
Ask all props to update and draw any translucent polygonal geometry.
virtual void ClearLights()
Internal method temporarily removes lights before reloading them into graphics pipeline.
vtkLightCollection * GetLights()
Return the collection of lights.
vtkTypeBool LightFollowCamera
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
void SetRenderWindow(vtkRenderWindow *)
Specify the rendering window in which to draw.
void ViewToPose(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
void WorldToView() override
Convert world point coordinates to view coordinates.
virtual void DeviceRenderOpaqueGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Render opaque polygonal geometry.
virtual void SetBackgroundTexture(vtkTexture *)
Set/Get the texture to be used for the monocular or stereo left eye background.
void AddVolume(vtkProp *p)
Add/Remove different types of props to the renderer.
void WorldToView(double &wx, double &wy, double &wz) override
Convert world point coordinates to view coordinates.
virtual double GetAllocatedRenderTime()
Set/Get the amount of time this renderer is allowed to spend rendering its scene.
virtual void Clear()
Clear the image to the background color.
void ComputeVisiblePropBounds(double bounds[6])
Compute the bounding box of all the visible props Used in ResetCamera() and ResetCameraClippingRange(...
virtual void DeviceRenderTranslucentPolygonalGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Render translucent polygonal geometry.
vtkTypeBool PreserveColorBuffer
void SetGL2PSSpecialPropCollection(vtkPropCollection *)
Set the prop collection object used during vtkRenderWindow::CaptureGL2PSSpecialProps().
double SSAORadius
unsigned int SSAOKernelSize
vtkActorCollection * Actors
void SetDelegate(vtkRendererDelegate *d)
Set/Get a custom Render call.
vtkTypeBool Interactive
vtkInformation * Information
vtkAssemblyPath * PickProp(double selectionX, double selectionY) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
vtkCamera * ActiveCamera
Hold a reference to a vtkObjectBase instance.
handles properties associated with a texture map
Definition vtkTexture.h:59
record modification and/or execution time
virtual vtkAssemblyPath * PickProp(double selectionX, double selectionY)=0
Return the Prop that has the highest z value at the given x, y position in the viewport.
an ordered list of volumes
represents a volume (data & properties) in a rendered scene
Definition vtkVolume.h:41
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:323
#define VTK_MARSHALSETTER(property)
#define VTK_SIZEHINT(...)
#define VTK_MARSHALGETTER(property)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)