VTK  9.1.0
vtkRenderer.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkRenderer.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
50#ifndef vtkRenderer_h
51#define vtkRenderer_h
52
53#include "vtkRenderingCoreModule.h" // For export macro
54#include "vtkViewport.h"
55
56#include "vtkActorCollection.h" // Needed for access in inline members
57#include "vtkVolumeCollection.h" // Needed for access in inline members
58
59#include <array> // To store matrices
60
61class vtkFXAAOptions;
62class vtkRenderWindow;
63class vtkVolume;
64class vtkCuller;
65class vtkActor;
66class vtkActor2D;
67class vtkCamera;
69class vtkInformation;
72class vtkLight;
75class vtkRenderPass;
76class vtkTexture;
77
78class vtkRecti;
79class vtkVector3d;
80
81class VTKRENDERINGCORE_EXPORT vtkRenderer : public vtkViewport
82{
83public:
84 vtkTypeMacro(vtkRenderer, vtkViewport);
85 void PrintSelf(ostream& os, vtkIndent indent) override;
86
92 static vtkRenderer* New();
93
95
105
110
115
120
124 vtkLightCollection* GetLights();
125
133
137 void CreateLight(void);
138
144 virtual vtkLight* MakeLight();
145
147
153 vtkGetMacro(TwoSidedLighting, vtkTypeBool);
154 vtkSetMacro(TwoSidedLighting, vtkTypeBool);
155 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
157
159
172 vtkSetMacro(LightFollowCamera, vtkTypeBool);
173 vtkGetMacro(LightFollowCamera, vtkTypeBool);
174 vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
176
178
186 vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
187 vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
188 vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
190
197
202
207
212
219
226
228
234 vtkSetMacro(Erase, vtkTypeBool);
235 vtkGetMacro(Erase, vtkTypeBool);
236 vtkBooleanMacro(Erase, vtkTypeBool);
238
240
245 vtkSetMacro(Draw, vtkTypeBool);
246 vtkGetMacro(Draw, vtkTypeBool);
247 vtkBooleanMacro(Draw, vtkTypeBool);
249
255
262
267
272
276 vtkCullerCollection* GetCullers();
277
279
282 vtkSetVector3Macro(Ambient, double);
283 vtkGetVectorMacro(Ambient, double, 3);
285
287
291 vtkSetMacro(AllocatedRenderTime, double);
292 virtual double GetAllocatedRenderTime();
294
301 virtual double GetTimeFactor();
302
309 virtual void Render();
310
314 virtual void DeviceRender(){};
315
323
334
339 virtual void ClearLights(void) {}
340
344 virtual void Clear() {}
345
350
355
360 void ComputeVisiblePropBounds(double bounds[6]);
361
366
371 virtual void ResetCameraClippingRange();
372
374
377 virtual void ResetCameraClippingRange(const double bounds[6]);
378 virtual void ResetCameraClippingRange(
379 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
381
383
388 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
389 vtkGetMacro(NearClippingPlaneTolerance, double);
391
393
398 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
399 vtkGetMacro(ClippingRangeExpansion, double);
401
408 virtual void ResetCamera();
409
419 virtual void ResetCamera(const double bounds[6]);
420
424 virtual void ResetCamera(
425 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
426
431 virtual void ResetCameraScreenSpace();
432
438 virtual void ResetCameraScreenSpace(const double bounds[6]);
439
440 using vtkViewport::DisplayToWorld;
441
445 vtkVector3d DisplayToWorld(const vtkVector3d& display);
446
452 void ZoomToBoxUsingViewAngle(const vtkRecti& box, const double offsetRatio = 1.0);
453
457 virtual void ResetCameraScreenSpace(
458 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
459
461
466 void SetRenderWindow(vtkRenderWindow*);
467 vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
470
472
478 vtkSetMacro(BackingStore, vtkTypeBool);
479 vtkGetMacro(BackingStore, vtkTypeBool);
480 vtkBooleanMacro(BackingStore, vtkTypeBool);
482
484
489 vtkSetMacro(Interactive, vtkTypeBool);
490 vtkGetMacro(Interactive, vtkTypeBool);
491 vtkBooleanMacro(Interactive, vtkTypeBool);
493
495
506 virtual void SetLayer(int layer);
507 vtkGetMacro(Layer, int);
509
511
521 vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
522 vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
523 vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
525
527
531 vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
532 vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
533 vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
535
541
545 void WorldToView() override;
546
548
551 void ViewToWorld() override;
552 void ViewToWorld(double& wx, double& wy, double& wz) override;
554
558 void WorldToView(double& wx, double& wy, double& wz) override;
559
561
564 void WorldToPose(double& wx, double& wy, double& wz) override;
565 void PoseToWorld(double& wx, double& wy, double& wz) override;
566 void ViewToPose(double& wx, double& wy, double& wz) override;
567 void PoseToView(double& wx, double& wy, double& wz) override;
569
574 double GetZ(int x, int y);
575
580
582
585 vtkGetMacro(LastRenderTimeInSeconds, double);
587
589
595 vtkGetMacro(NumberOfPropsRendered, int);
597
599
606 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
607 {
608 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
609 }
611 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
613
619 virtual void StereoMidpoint() { return; }
620
628
634 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
635
637
647 vtkSetMacro(UseDepthPeeling, vtkTypeBool);
648 vtkGetMacro(UseDepthPeeling, vtkTypeBool);
649 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
651
657 vtkSetMacro(UseDepthPeelingForVolumes, bool);
658 vtkGetMacro(UseDepthPeelingForVolumes, bool);
659 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
660
662
671 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
672 vtkGetMacro(OcclusionRatio, double);
674
676
681 vtkSetMacro(MaximumNumberOfPeels, int);
682 vtkGetMacro(MaximumNumberOfPeels, int);
684
686
691 vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
693
695
699 vtkSetMacro(UseSSAO, bool);
700 vtkGetMacro(UseSSAO, bool);
701 vtkBooleanMacro(UseSSAO, bool);
703
705
709 vtkSetMacro(SSAORadius, double);
710 vtkGetMacro(SSAORadius, double);
712
714
718 vtkSetMacro(SSAOBias, double);
719 vtkGetMacro(SSAOBias, double);
721
723
727 vtkSetMacro(SSAOKernelSize, unsigned int);
728 vtkGetMacro(SSAOKernelSize, unsigned int);
730
732
737 vtkSetMacro(SSAOBlur, bool);
738 vtkGetMacro(SSAOBlur, bool);
739 vtkBooleanMacro(SSAOBlur, bool);
741
743
750 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
752
754
759 vtkGetObjectMacro(Selector, vtkHardwareSelector);
761
763
771 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
773
775
780 vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
782
784
788 vtkSetMacro(TexturedBackground, bool);
789 vtkGetMacro(TexturedBackground, bool);
790 vtkBooleanMacro(TexturedBackground, bool);
792
793 // method to release graphics resources in any derived renderers.
795
797
800 vtkSetMacro(UseFXAA, bool);
801 vtkGetMacro(UseFXAA, bool);
802 vtkBooleanMacro(UseFXAA, bool);
804
806
809 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
812
814
818 vtkSetMacro(UseShadows, vtkTypeBool);
819 vtkGetMacro(UseShadows, vtkTypeBool);
820 vtkBooleanMacro(UseShadows, vtkTypeBool);
822
824
828 vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
829 vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
830 vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
832
833 // Set/Get a custom render pass.
834 // Initial value is NULL.
836 vtkGetObjectMacro(Pass, vtkRenderPass);
837
839
842 vtkGetObjectMacro(Information, vtkInformation);
845
847
853 vtkSetMacro(UseImageBasedLighting, bool);
854 vtkGetMacro(UseImageBasedLighting, bool);
855 vtkBooleanMacro(UseImageBasedLighting, bool);
857
859
870 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
871 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
873
875
878 vtkGetVector3Macro(EnvironmentUp, double);
879 vtkSetVector3Macro(EnvironmentUp, double);
881
883
886 vtkGetVector3Macro(EnvironmentRight, double);
887 vtkSetVector3Macro(EnvironmentRight, double);
889
890protected:
892 ~vtkRenderer() override;
893
894 // internal method to expand bounding box to consider model transform
895 // matrix or model view transform matrix based on whether or not deering
896 // frustum is used. 'bounds' buffer is mutated to the expanded box.
897 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
898
901
904
907
908 double Ambient[3];
915 unsigned char* BackingImage;
916 int BackingStoreSize[2];
918
920
922
923 // Allocate the time for each prop
925
926 // Internal variables indicating the number of props
927 // that have been or will be rendered in each category.
929
930 // A temporary list of props used for culling, and traversal
931 // of all props when rendering
934
935 // Indicates if the renderer should receive events from an interactor.
936 // Typically only used in conjunction with transparent renderers.
938
939 // Shows what layer this renderer belongs to. Only of interested when
940 // there are layered renderers.
941 int Layer;
944
945 // Holds the result of ComputeVisiblePropBounds so that it is visible from
946 // wrapped languages
947 double ComputedVisiblePropBounds[6];
948
957
963
971
978
983
988 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
989
994 const std::array<double, 16>& GetProjectionTransformationMatrix();
995
1000 const std::array<double, 16>& GetViewTransformMatrix();
1001
1007 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1008
1017
1024
1029 virtual int UpdateCamera(void);
1030
1037
1042 virtual int UpdateLights(void) { return 0; }
1043
1050
1056
1061
1067
1073
1081
1087
1098
1105
1106 bool UseSSAO = false;
1107 double SSAORadius = 0.5;
1108 double SSAOBias = 0.01;
1109 unsigned int SSAOKernelSize = 32;
1110 bool SSAOBlur = false;
1111
1118
1119 // HARDWARE SELECTION ----------------------------------------
1121
1126 {
1127 this->Selector = selector;
1128 this->Modified();
1129 }
1130
1131 // End Ivars for visible cell selecting.
1133
1134 //---------------------------------------------------------------
1137
1141
1142 friend class vtkRenderPass;
1144
1145 // Arbitrary extra information associated with this renderer
1147
1150
1151 double EnvironmentUp[3];
1152 double EnvironmentRight[3];
1153
1154private:
1158 std::array<double, 16> CompositeProjectionTransformationMatrix;
1159
1163 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1164
1168 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1169
1173 std::array<double, 16> ProjectionTransformationMatrix;
1174
1178 double LastProjectionTransformationMatrixTiledAspectRatio;
1179
1183 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1184
1188 std::array<double, 16> ViewTransformMatrix;
1189
1193 vtkMTimeType LastViewTransformCameraModified;
1194
1195 vtkRenderer(const vtkRenderer&) = delete;
1196 void operator=(const vtkRenderer&) = delete;
1197};
1198
1200{
1201 return this->Lights;
1202}
1203
1208{
1209 return this->Cullers;
1210}
1211
1212#endif
a actor that draws 2D data
Definition: vtkActor2D.h:49
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:55
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition: vtkCamera.h:55
an ordered list of Cullers
a superclass for prop cullers
Definition: vtkCuller.h:38
Configuration for FXAA implementations.
abstract interface to OpenGL FBOs
a simple class to control print indentation
Definition: vtkIndent.h:43
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition: vtkLight.h:66
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:45
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:66
Perform part of the rendering of a vtkRenderer.
Definition: vtkRenderPass.h:57
create a window for renderers to draw into
Render the props of a vtkRenderer.
abstract specification for renderers
Definition: vtkRenderer.h:82
void RemoveVolume(vtkProp *p)
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
These methods map from one coordinate system to another.
virtual void SetFXAAOptions(vtkFXAAOptions *)
virtual void ClearLights(void)
Internal method temporarily removes lights before reloading them into graphics pipeline.
Definition: vtkRenderer.h:339
vtkCamera * GetActiveCamera()
Get the current camera.
void AddCuller(vtkCuller *)
Add an culler to the list of cullers.
void SetPass(vtkRenderPass *p)
vtkTypeBool PreserveDepthBuffer
Definition: vtkRenderer.h:943
vtkLight * CreatedLight
Definition: vtkRenderer.h:900
vtkRenderPass * Pass
Definition: vtkRenderer.h:1143
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off.
Definition: vtkRenderer.h:1066
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
Definition: vtkRenderer.h:919
double GetTiledAspectRatio()
Compute the aspect ratio of this renderer for the current tile.
void AddLight(vtkLight *)
Add a light to the list of lights.
vtkCullerCollection * GetCullers()
Return the collection of cullers.
Definition: vtkRenderer.h:1207
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 *)
virtual int UpdateLights(void)
Ask all lights to load themselves into rendering pipeline.
Definition: vtkRenderer.h:1042
virtual vtkTypeBool UpdateLightsGeometryToFollowCamera(void)
Ask the lights in the scene that are not in world space (for instance, Headlights or CameraLights tha...
~vtkRenderer() override
virtual int UpdateGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Ask all props to update and draw any opaque and translucent geometry.
int Transparent()
Returns a boolean indicating if this renderer is transparent.
virtual int UpdateCamera(void)
Ask the active camera to do whatever it needs to do prior to rendering.
bool UseImageBasedLighting
Definition: vtkRenderer.h:1148
int VisibleActorCount()
Returns the number of visible actors.
vtkTypeBool BackingStore
Definition: vtkRenderer.h:914
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
Definition: vtkRenderer.h:1149
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.
Definition: vtkRenderer.h:1086
void RemoveActor(vtkProp *p)
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.
Definition: vtkRenderer.h:1125
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.
Definition: vtkRenderer.h:1104
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling.
Definition: vtkRenderer.h:1117
void AllocateTime()
vtkRenderWindow * RenderWindow
Definition: vtkRenderer.h:909
int VisibleVolumeCount()
Returns the number of visible volumes.
vtkTypeBool AutomaticLightCreation
Definition: vtkRenderer.h:913
int NumberOfPropsRendered
Definition: vtkRenderer.h:928
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render.
Definition: vtkRenderer.h:619
virtual vtkTypeBool UpdateLightGeometry(void)
Update the geometry of the lights in the scene that are not in world space (for instance,...
virtual int UpdateOpaquePolygonalGeometry()
Ask all props to update and draw any opaque polygonal geometry.
double TimeFactor
Definition: vtkRenderer.h:911
bool TexturedBackground
Definition: vtkRenderer.h:1138
vtkVolumeCollection * Volumes
Definition: vtkRenderer.h:906
vtkWindow * GetVTKWindow() override
Return the vtkWindow that owns this vtkViewport.
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...
Definition: vtkRenderer.h:1097
const std::array< double, 16 > & GetProjectionTransformationMatrix()
Gets the ActiveCamera ProjectionTransformationMatrix, only computing it if necessary.
void PoseToView(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer.
Definition: vtkRenderer.h:970
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
Definition: vtkRenderer.h:982
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene.
Definition: vtkRenderer.h:1055
vtkVolumeCollection * GetVolumes()
Return the collection of volumes.
vtkTexture * GetLeftBackgroundTexture()
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
Definition: vtkRenderer.h:962
vtkAssemblyPath * PickProp(double selectionX1, double selectionY1, double selectionX2, double selectionY2) override
Return the Prop that has the highest z value at the given x1, y1 and x2,y2 positions in the viewport.
int CaptureGL2PSSpecialProp(vtkProp *)
This function is called to capture an instance of vtkProp that requires special handling during vtkRe...
vtkTypeBool IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
Definition: vtkRenderer.h:634
unsigned char * BackingImage
Definition: vtkRenderer.h:915
static vtkRenderer * New()
Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on,...
vtkRendererDelegate * Delegate
Definition: vtkRenderer.h:1136
void SetLightCollection(vtkLightCollection *lights)
Set the collection of lights.
virtual void ReleaseGraphicsResources(vtkWindow *)
void PoseToWorld(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
void RemoveAllLights()
Remove all lights from the list of lights.
vtkTexture * BackgroundTexture
Definition: vtkRenderer.h:1139
double GetZ(int x, int y)
Given a pixel location, return the Z value.
vtkProp ** PropArray
Definition: vtkRenderer.h:932
double * ComputeVisiblePropBounds()
Wrapper-friendly version of ComputeVisiblePropBounds.
vtkCullerCollection * Cullers
Definition: vtkRenderer.h:903
void AddActor(vtkProp *p)
Add/Remove different types of props to the renderer.
int PropArrayCount
Definition: vtkRenderer.h:933
virtual double GetTimeFactor()
Get the ratio between allocated time and actual render time.
double AllocatedRenderTime
Definition: vtkRenderer.h:910
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
Definition: vtkRenderer.h:956
vtkTypeBool Draw
When this flag is off, render commands are ignored.
Definition: vtkRenderer.h:977
vtkHardwareSelector * Selector
Definition: vtkRenderer.h:1132
virtual void DeviceRender()
Create an image.
Definition: vtkRenderer.h:314
vtkTypeBool TwoSidedLighting
Definition: vtkRenderer.h:912
vtkTexture * RightBackgroundTexture
Definition: vtkRenderer.h:1140
vtkTypeBool UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
Definition: vtkRenderer.h:1080
vtkTypeBool UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
Definition: vtkRenderer.h:1072
void WorldToPose(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
vtkLightCollection * Lights
Definition: vtkRenderer.h:902
void CreateLight(void)
Create and add a light to renderer.
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)
vtkTimeStamp RenderTime
Definition: vtkRenderer.h:917
virtual void Render()
CALLED BY vtkRenderWindow ONLY.
virtual int UpdateTranslucentPolygonalGeometry()
Ask all props to update and draw any translucent polygonal geometry.
vtkLightCollection * GetLights()
Return the collection of lights.
Definition: vtkRenderer.h:1199
vtkTypeBool LightFollowCamera
Definition: vtkRenderer.h:921
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
Definition: vtkRenderer.h:1060
void ViewToPose(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
void WorldToView() override
Convert world point coordinates to view coordinates.
virtual void DeviceRenderOpaqueGeometry(vtkFrameBufferObjectBase *fbo=nullptr)
Render opaque polygonal geometry.
virtual void SetBackgroundTexture(vtkTexture *)
void AddVolume(vtkProp *p)
void WorldToView(double &wx, double &wy, double &wz) override
Convert world point coordinates to view coordinates.
virtual double GetAllocatedRenderTime()
virtual void Clear()
Clear the image to the background color.
Definition: vtkRenderer.h:344
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
Definition: vtkRenderer.h:942
void SetGL2PSSpecialPropCollection(vtkPropCollection *)
Set the prop collection object used during vtkRenderWindow::CaptureGL2PSSpecialProps().
vtkActorCollection * Actors
Definition: vtkRenderer.h:905
void SetDelegate(vtkRendererDelegate *d)
Set/Get a custom Render call.
vtkTypeBool Interactive
Definition: vtkRenderer.h:937
vtkInformation * Information
Definition: vtkRenderer.h:1146
vtkAssemblyPath * PickProp(double selectionX, double selectionY) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x,...
Definition: vtkRenderer.h:606
vtkCamera * ActiveCamera
Definition: vtkRenderer.h:899
handles properties associated with a texture map
Definition: vtkTexture.h:75
record modification and/or execution time
Definition: vtkTimeStamp.h:42
abstract specification for Viewports
Definition: vtkViewport.h:56
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:54
window superclass for vtkRenderWindow
Definition: vtkWindow.h:48
int vtkTypeBool
Definition: vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_SIZEHINT(...)