VTK  9.3.0
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
35#ifndef vtkRenderer_h
36#define vtkRenderer_h
37
38#include "vtkRenderingCoreModule.h" // For export macro
39#include "vtkViewport.h"
40
41#include "vtkActorCollection.h" // Needed for access in inline members
42#include "vtkVolumeCollection.h" // Needed for access in inline members
43
44#include <array> // To store matrices
45
46VTK_ABI_NAMESPACE_BEGIN
47class vtkFXAAOptions;
48class vtkRenderWindow;
49class vtkVolume;
50class vtkCuller;
51class vtkActor;
52class vtkActor2D;
53class vtkCamera;
55class vtkInformation;
58class vtkLight;
61class vtkRenderPass;
62class vtkTexture;
63
64class vtkRecti;
65class vtkVector3d;
66
67class VTKRENDERINGCORE_EXPORT vtkRenderer : public vtkViewport
68{
69public:
70 vtkTypeMacro(vtkRenderer, vtkViewport);
71 void PrintSelf(ostream& os, vtkIndent indent) override;
72
78 static vtkRenderer* New();
79
81
86 void AddActor(vtkProp* p);
91
96
101
106
110 vtkLightCollection* GetLights();
111
119
124
130 virtual vtkLight* MakeLight();
131
133
139 vtkGetMacro(TwoSidedLighting, vtkTypeBool);
140 vtkSetMacro(TwoSidedLighting, vtkTypeBool);
141 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
143
145
158 vtkSetMacro(LightFollowCamera, vtkTypeBool);
159 vtkGetMacro(LightFollowCamera, vtkTypeBool);
160 vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
162
164
172 vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
173 vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
174 vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
176
183
188
193
198
205
212
214
220 vtkSetMacro(Erase, vtkTypeBool);
221 vtkGetMacro(Erase, vtkTypeBool);
222 vtkBooleanMacro(Erase, vtkTypeBool);
224
226
231 vtkSetMacro(Draw, vtkTypeBool);
232 vtkGetMacro(Draw, vtkTypeBool);
233 vtkBooleanMacro(Draw, vtkTypeBool);
235
241
248
253
258
262 vtkCullerCollection* GetCullers();
263
265
268 vtkSetVector3Macro(Ambient, double);
269 vtkGetVectorMacro(Ambient, double, 3);
271
273
277 vtkSetMacro(AllocatedRenderTime, double);
278 virtual double GetAllocatedRenderTime();
280
287 virtual double GetTimeFactor();
288
295 virtual void Render();
296
300 virtual void DeviceRender(){};
301
309
320
325 virtual void ClearLights() {}
326
330 virtual void Clear() {}
331
336
341
346 void ComputeVisiblePropBounds(double bounds[6]);
347
352
357 virtual void ResetCameraClippingRange();
358
360
363 virtual void ResetCameraClippingRange(const double bounds[6]);
364 virtual void ResetCameraClippingRange(
365 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
367
369
374 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
375 vtkGetMacro(NearClippingPlaneTolerance, double);
377
379
384 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
385 vtkGetMacro(ClippingRangeExpansion, double);
387
394 virtual void ResetCamera();
395
405 virtual void ResetCamera(const double bounds[6]);
406
410 virtual void ResetCamera(
411 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
412
420 virtual void ResetCameraScreenSpace(double offsetRatio = 0.9);
421
430 virtual void ResetCameraScreenSpace(const double bounds[6], double offsetRatio = 0.9);
431
432 using vtkViewport::DisplayToWorld;
433
437 vtkVector3d DisplayToWorld(const vtkVector3d& display);
438
444 void ZoomToBoxUsingViewAngle(const vtkRecti& box, double offsetRatio = 1.0);
445
452 virtual void ResetCameraScreenSpace(double xmin, double xmax, double ymin, double ymax,
453 double zmin, double zmax, double offsetRatio = 0.9);
454
456
461 void SetRenderWindow(vtkRenderWindow*);
462 vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
465
467
473 vtkSetMacro(BackingStore, vtkTypeBool);
474 vtkGetMacro(BackingStore, vtkTypeBool);
475 vtkBooleanMacro(BackingStore, vtkTypeBool);
477
479
484 vtkSetMacro(Interactive, vtkTypeBool);
485 vtkGetMacro(Interactive, vtkTypeBool);
486 vtkBooleanMacro(Interactive, vtkTypeBool);
488
490
501 virtual void SetLayer(int layer);
502 vtkGetMacro(Layer, int);
504
506
516 vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
517 vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
518 vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
520
522
526 vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
527 vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
528 vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
530
536
540 void WorldToView() override;
541
543
546 void ViewToWorld() override;
547 void ViewToWorld(double& wx, double& wy, double& wz) override;
549
553 void WorldToView(double& wx, double& wy, double& wz) override;
554
556
559 void WorldToPose(double& wx, double& wy, double& wz) override;
560 void PoseToWorld(double& wx, double& wy, double& wz) override;
561 void ViewToPose(double& wx, double& wy, double& wz) override;
562 void PoseToView(double& wx, double& wy, double& wz) override;
564
569 double GetZ(int x, int y);
570
575
577
580 vtkGetMacro(LastRenderTimeInSeconds, double);
582
584
590 vtkGetMacro(NumberOfPropsRendered, int);
592
594
601 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
602 {
603 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
604 }
606 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
608
610
619 vtkAssemblyPath* PickProp(double selectionX, double selectionY, int fieldAssociation,
620 vtkSmartPointer<vtkSelection> selection) override
621 {
622 return this->PickProp(
623 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
624 }
625 vtkAssemblyPath* PickProp(double selectionX1, double selectionY1, double selectionX2,
626 double selectionY2, int fieldAssociation, vtkSmartPointer<vtkSelection> selection) override;
628
634 virtual void StereoMidpoint() {}
635
643
649 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
650
652
662 vtkSetMacro(UseDepthPeeling, vtkTypeBool);
663 vtkGetMacro(UseDepthPeeling, vtkTypeBool);
664 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
666
672 vtkSetMacro(UseDepthPeelingForVolumes, bool);
673 vtkGetMacro(UseDepthPeelingForVolumes, bool);
674 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
675
677
686 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
687 vtkGetMacro(OcclusionRatio, double);
689
691
696 vtkSetMacro(MaximumNumberOfPeels, int);
697 vtkGetMacro(MaximumNumberOfPeels, int);
699
701
706 vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
708
710
714 vtkSetMacro(UseSSAO, bool);
715 vtkGetMacro(UseSSAO, bool);
716 vtkBooleanMacro(UseSSAO, bool);
718
720
724 vtkSetMacro(SSAORadius, double);
725 vtkGetMacro(SSAORadius, double);
727
729
733 vtkSetMacro(SSAOBias, double);
734 vtkGetMacro(SSAOBias, double);
736
738
742 vtkSetMacro(SSAOKernelSize, unsigned int);
743 vtkGetMacro(SSAOKernelSize, unsigned int);
745
747
752 vtkSetMacro(SSAOBlur, bool);
753 vtkGetMacro(SSAOBlur, bool);
754 vtkBooleanMacro(SSAOBlur, bool);
756
758
765 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
767
769
774 vtkGetObjectMacro(Selector, vtkHardwareSelector);
776
778
786 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
788
790
795 vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
797
799
803 vtkSetMacro(TexturedBackground, bool);
804 vtkGetMacro(TexturedBackground, bool);
805 vtkBooleanMacro(TexturedBackground, bool);
807
808 // method to release graphics resources in any derived renderers.
810
812
815 vtkSetMacro(UseFXAA, bool);
816 vtkGetMacro(UseFXAA, bool);
817 vtkBooleanMacro(UseFXAA, bool);
819
821
824 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
827
829
833 vtkSetMacro(UseShadows, vtkTypeBool);
834 vtkGetMacro(UseShadows, vtkTypeBool);
835 vtkBooleanMacro(UseShadows, vtkTypeBool);
837
839
843 vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
844 vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
845 vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
847
848 // Set/Get a custom render pass.
849 // Initial value is NULL.
851 vtkGetObjectMacro(Pass, vtkRenderPass);
852
854
857 vtkGetObjectMacro(Information, vtkInformation);
860
862
868 vtkSetMacro(UseImageBasedLighting, bool);
869 vtkGetMacro(UseImageBasedLighting, bool);
870 vtkBooleanMacro(UseImageBasedLighting, bool);
872
874
885 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
886 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
888
890
893 vtkGetVector3Macro(EnvironmentUp, double);
894 vtkSetVector3Macro(EnvironmentUp, double);
896
898
901 vtkGetVector3Macro(EnvironmentRight, double);
902 vtkSetVector3Macro(EnvironmentRight, double);
904
905protected:
907 ~vtkRenderer() override;
908
909 // internal method to expand bounding box to consider model transform
910 // matrix or model view transform matrix based on whether or not deering
911 // frustum is used. 'bounds' buffer is mutated to the expanded box.
912 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
913
916
919
922
923 double Ambient[3];
930 unsigned char* BackingImage;
931 int BackingStoreSize[2];
933
935
937
938 // Allocate the time for each prop
940
941 // Internal variables indicating the number of props
942 // that have been or will be rendered in each category.
944
945 // A temporary list of props used for culling, and traversal
946 // of all props when rendering
949
950 // Indicates if the renderer should receive events from an interactor.
951 // Typically only used in conjunction with transparent renderers.
953
954 // Shows what layer this renderer belongs to. Only of interested when
955 // there are layered renderers.
956 int Layer;
959
960 // Holds the result of ComputeVisiblePropBounds so that it is visible from
961 // wrapped languages
962 double ComputedVisiblePropBounds[6];
963
972
978
986
993
998
1003 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1004
1009 const std::array<double, 16>& GetProjectionTransformationMatrix();
1010
1015 const std::array<double, 16>& GetViewTransformMatrix();
1016
1022 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1023
1032
1039
1044 virtual int UpdateCamera();
1045
1052
1057 virtual int UpdateLights() { return 0; }
1058
1065
1071
1076
1082
1088
1096
1102
1113
1120
1121 bool UseSSAO = false;
1122 double SSAORadius = 0.5;
1123 double SSAOBias = 0.01;
1124 unsigned int SSAOKernelSize = 32;
1125 bool SSAOBlur = false;
1126
1133
1134 // HARDWARE SELECTION ----------------------------------------
1136
1141 {
1142 this->Selector = selector;
1143 this->Modified();
1144 }
1145
1146 // End Ivars for visible cell selecting.
1148
1149 //---------------------------------------------------------------
1152
1156
1157 friend class vtkRenderPass;
1159
1160 // Arbitrary extra information associated with this renderer
1162
1165
1166 double EnvironmentUp[3];
1167 double EnvironmentRight[3];
1168
1169private:
1173 std::array<double, 16> CompositeProjectionTransformationMatrix;
1174
1178 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1179
1183 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1184
1188 std::array<double, 16> ProjectionTransformationMatrix;
1189
1193 double LastProjectionTransformationMatrixTiledAspectRatio;
1194
1198 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1199
1203 std::array<double, 16> ViewTransformMatrix;
1204
1208 vtkMTimeType LastViewTransformCameraModified;
1209
1210 vtkRenderer(const vtkRenderer&) = delete;
1211 void operator=(const vtkRenderer&) = delete;
1212};
1213
1215{
1216 return this->Lights;
1217}
1218
1223{
1224 return this->Cullers;
1225}
1226
1227VTK_ABI_NAMESPACE_END
1228#endif
a actor that draws 2D data
Definition vtkActor2D.h:44
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:50
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition vtkCamera.h:50
an ordered list of Cullers
a superclass for prop cullers
Definition vtkCuller.h:30
Configuration for FXAA implementations.
abstract interface to OpenGL FBOs
a simple class to control print indentation
Definition vtkIndent.h:38
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition vtkLight.h:58
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:52
Perform part of the rendering of a vtkRenderer.
create a window for renderers to draw into
Render the props of a vtkRenderer.
abstract specification for renderers
Definition vtkRenderer.h:68
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.
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,...
vtkCamera * GetActiveCamera()
Get the current camera.
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
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off.
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.
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
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.
double TimeFactor
bool TexturedBackground
vtkVolumeCollection * Volumes
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.
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.
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,...
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...
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 *)
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.
vtkProp ** PropArray
double * ComputeVisiblePropBounds()
Wrapper-friendly version of ComputeVisiblePropBounds.
vtkCullerCollection * Cullers
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
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 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().
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:67
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:54
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:49
window superclass for vtkRenderWindow
Definition vtkWindow.h:34
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270
#define VTK_SIZEHINT(...)