VTK  9.7.20260915
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
137
138#ifndef vtkRenderer_h
139#define vtkRenderer_h
140
141#include "vtkRenderingCoreModule.h" // For export macro
142#include "vtkViewport.h"
143#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
144
145#include "vtkActorCollection.h" // Needed for access in inline members
146#include "vtkMatrix3x3.h"
147#include "vtkVector.h" // vtkVector3d
148#include "vtkVolumeCollection.h" // Needed for access in inline members
149
150#include <array> // To store matrices
151
152VTK_ABI_NAMESPACE_BEGIN
153class vtkFXAAOptions;
154class vtkRenderWindow;
155class vtkVolume;
156class vtkCuller;
157class vtkActor;
158class vtkActor2D;
159class vtkCamera;
161class vtkInformation;
164class vtkLight;
167class vtkRenderPass;
168class vtkTexture;
169class vtkTransform;
170
171class vtkRecti;
172
173class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderer : public vtkViewport
174{
175public:
176 vtkTypeMacro(vtkRenderer, vtkViewport);
177 void PrintSelf(ostream& os, vtkIndent indent) override;
178
184 static vtkRenderer* New();
185
187
201
207
213
219
224
232
237
243 virtual vtkLight* MakeLight();
244
246
254 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
256
258
275
277
289
296
302
308
313
320
327
329
335 vtkSetMacro(Erase, vtkTypeBool);
336 vtkGetMacro(Erase, vtkTypeBool);
337 vtkBooleanMacro(Erase, vtkTypeBool);
339
341
346 vtkSetMacro(Draw, vtkTypeBool);
347 vtkGetMacro(Draw, vtkTypeBool);
348 vtkBooleanMacro(Draw, vtkTypeBool);
350
356
363
369
375
380
382
385 vtkSetVector3Macro(Ambient, double);
386 vtkGetVectorMacro(Ambient, double, 3);
388
390
394 vtkSetMacro(AllocatedRenderTime, double);
395 virtual double GetAllocatedRenderTime();
397
404 virtual double GetTimeFactor();
405
412 virtual void Render();
413
417 virtual void DeviceRender() {}
418
426
437
442 virtual void ClearLights() {}
443
447 virtual void Clear() {}
448
453
458
463 void ComputeVisiblePropBounds(double bounds[6]);
464
469
475
477
480 virtual void ResetCameraClippingRange(const double bounds[6]);
482 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
484
486
491 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
492 vtkGetMacro(NearClippingPlaneTolerance, double);
494
496
501 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
502 vtkGetMacro(ClippingRangeExpansion, double);
504
512 virtual bool ResetCamera();
513
523 virtual void ResetCamera(const double bounds[6]);
524
528 virtual void ResetCamera(
529 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
530
539 virtual bool ResetCameraScreenSpace(double offsetRatio = 0.9);
540
549 virtual void ResetCameraScreenSpace(const double bounds[6], double offsetRatio = 0.9);
550
552
557
563 void ZoomToBoxUsingViewAngle(const vtkRecti& box, double offsetRatio = 1.0);
564
571 virtual void ResetCameraScreenSpace(double xmin, double xmax, double ymin, double ymax,
572 double zmin, double zmax, double offsetRatio = 0.9);
573
575
584
586
594 vtkBooleanMacro(BackingStore, vtkTypeBool);
596
598
605 vtkBooleanMacro(Interactive, vtkTypeBool);
607
609
620 virtual void SetLayer(int layer);
621 vtkGetMacro(Layer, int);
623
625
639
641
649
655
659 void WorldToView() override;
660
662
665 void ViewToWorld() override;
666 void ViewToWorld(double& wx, double& wy, double& wz) override;
668
672 void WorldToView(double& wx, double& wy, double& wz) override;
673
675
678 void WorldToPose(double& wx, double& wy, double& wz) override;
679 void PoseToWorld(double& wx, double& wy, double& wz) override;
680 void ViewToPose(double& wx, double& wy, double& wz) override;
681 void PoseToView(double& wx, double& wy, double& wz) override;
683
696 double GetZ(int x, int y);
697
699
706 vtkSetMacro(SafeGetZ, bool);
707 vtkGetMacro(SafeGetZ, bool);
708 vtkBooleanMacro(SafeGetZ, bool);
710
715
717
720 vtkGetMacro(LastRenderTimeInSeconds, double);
722
724
730 vtkGetMacro(NumberOfPropsRendered, int);
732
734
741 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
742 {
743 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
744 }
746 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
748
750
760 vtkAssemblyPath* PickProp(double selectionX, double selectionY, int fieldAssociation,
761 vtkSmartPointer<vtkSelection> selection) override
762 {
763 return this->PickProp(
764 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
765 }
766 vtkAssemblyPath* PickProp(double selectionX1, double selectionY1, double selectionX2,
767 double selectionY2, int fieldAssociation, vtkSmartPointer<vtkSelection> selection) override;
769
775 virtual void StereoMidpoint() {}
776
784
790 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
791
793
805 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
807
813 vtkSetMacro(UseDepthPeelingForVolumes, bool);
814 vtkGetMacro(UseDepthPeelingForVolumes, bool);
815 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
816
818
827 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
828 vtkGetMacro(OcclusionRatio, double);
830
832
837 vtkSetMacro(MaximumNumberOfPeels, int);
838 vtkGetMacro(MaximumNumberOfPeels, int);
840
842
849
851
855 vtkSetMacro(UseSSAO, bool);
856 vtkGetMacro(UseSSAO, bool);
857 vtkBooleanMacro(UseSSAO, bool);
859
861
865 vtkSetMacro(SSAORadius, double);
866 vtkGetMacro(SSAORadius, double);
868
870
874 vtkSetMacro(SSAOBias, double);
875 vtkGetMacro(SSAOBias, double);
877
879
883 vtkSetMacro(SSAOKernelSize, unsigned int);
884 vtkGetMacro(SSAOKernelSize, unsigned int);
886
888
893 vtkSetMacro(SSAOBlur, bool);
894 vtkGetMacro(SSAOBlur, bool);
895 vtkBooleanMacro(SSAOBlur, bool);
897
899
906 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
908
910
915 vtkGetObjectMacro(Selector, vtkHardwareSelector);
917
919
927 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
929
931
938
940
944 vtkSetMacro(TexturedBackground, bool);
945 vtkGetMacro(TexturedBackground, bool);
946 vtkBooleanMacro(TexturedBackground, bool);
948
949 // method to release graphics resources in any derived renderers.
951
953
956 vtkSetMacro(UseFXAA, bool);
957 vtkGetMacro(UseFXAA, bool);
958 vtkBooleanMacro(UseFXAA, bool);
960
962
965 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
968
970
974 vtkSetMacro(UseShadows, vtkTypeBool);
975 vtkGetMacro(UseShadows, vtkTypeBool);
976 vtkBooleanMacro(UseShadows, vtkTypeBool);
978
980
988
989 // Set/Get a custom render pass.
990 // Initial value is NULL.
992 vtkGetObjectMacro(Pass, vtkRenderPass);
993
995
998 vtkGetObjectMacro(Information, vtkInformation);
1001
1003
1009 vtkSetMacro(UseImageBasedLighting, bool);
1010 vtkGetMacro(UseImageBasedLighting, bool);
1011 vtkBooleanMacro(UseImageBasedLighting, bool);
1013
1015
1020 VTK_MARSHALGETTER(EnvironmentTextureProperty)
1021 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
1022 VTK_MARSHALSETTER(EnvironmentTextureProperty)
1024 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
1026
1028
1035 virtual double* GetEnvironmentUp();
1036 virtual void GetEnvironmentUp(double& vectorUpX, double& vectorUpY, double& vectorUpZ);
1037 virtual void GetEnvironmentUp(double vectorUp[3]);
1038 virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ);
1039 virtual void SetEnvironmentUp(double vectorUp[3]);
1041
1043
1050 virtual double* GetEnvironmentRight();
1052 double& vectorRightX, double& vectorRightY, double& vectorRightZ);
1053 virtual void GetEnvironmentRight(double vectorRight[3]);
1054 virtual void SetEnvironmentRight(double vectorRightX, double vectorRightY, double vectorRightZ);
1055 virtual void SetEnvironmentRight(double vectorRight[3]);
1057
1059
1064 vtkGetSmartPointerMacro(EnvironmentRotationMatrix, vtkMatrix3x3);
1067
1069
1072 vtkSetMacro(SkyboxBlurEnabled, bool);
1073 vtkGetMacro(SkyboxBlurEnabled, bool);
1074 vtkBooleanMacro(SkyboxBlurEnabled, bool);
1076
1078
1082 vtkSetMacro(SkyboxBlurRadius, float);
1083 vtkGetMacro(SkyboxBlurRadius, float);
1085
1087
1094
1096
1107 vtkSetMacro(UseOIT, bool);
1108 vtkGetMacro(UseOIT, bool);
1109 vtkBooleanMacro(UseOIT, bool);
1111
1112protected:
1114 ~vtkRenderer() override;
1115
1116 // internal method to expand bounding box to consider model transform
1117 // matrix or model view transform matrix based on whether or not deering
1118 // frustum is used. 'bounds' buffer is mutated to the expanded box.
1119 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
1120
1123
1126
1129
1130 double Ambient[3];
1137 unsigned char* BackingImage;
1140
1142
1144
1145 // Allocate the time for each prop
1147
1148 // Internal variables indicating the number of props
1149 // that have been or will be rendered in each category.
1151
1152 // A temporary list of props used for culling, and traversal
1153 // of all props when rendering
1154 std::vector<vtkProp*> PropArray;
1156
1157 // Indicates if the renderer should receive events from an interactor.
1158 // Typically only used in conjunction with transparent renderers.
1160
1161 // Shows what layer this renderer belongs to. Only of interested when
1162 // there are layered renderers.
1166
1167 // Holds the result of ComputeVisiblePropBounds so that it is visible from
1168 // wrapped languages
1170
1179
1185
1193
1200
1205
1210 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1211
1216 const std::array<double, 16>& GetProjectionTransformationMatrix();
1217
1222 const std::array<double, 16>& GetViewTransformMatrix();
1223
1229 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1230
1239
1246
1251 virtual int UpdateCamera();
1252
1259
1264 virtual int UpdateLights() { return 0; }
1265
1272
1278
1283
1289
1295
1303
1309
1320
1327
1328 bool UseSSAO = false;
1329 double SSAORadius = 0.5;
1330 double SSAOBias = 0.01;
1331 unsigned int SSAOKernelSize = 32;
1332 bool SSAOBlur = false;
1333
1345 bool UseOIT = true;
1346
1353
1354 // HARDWARE SELECTION ----------------------------------------
1356
1361 {
1362 this->Selector = selector;
1363 this->Modified();
1364 }
1365
1366 // End Ivars for visible cell selecting.
1368
1369 //---------------------------------------------------------------
1372
1376
1377 friend class vtkRenderPass;
1379
1380 // Arbitrary extra information associated with this renderer
1382
1385
1386private:
1390 void ComputeRotationMatrixForwardVector();
1391
1395 std::array<double, 16> CompositeProjectionTransformationMatrix;
1396
1400 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1401
1405 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1406
1410 std::array<double, 16> ProjectionTransformationMatrix;
1411
1415 double LastProjectionTransformationMatrixTiledAspectRatio;
1416
1420 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1421
1425 std::array<double, 16> ViewTransformMatrix;
1426
1430 vtkMTimeType LastViewTransformCameraModified;
1431
1435 bool SafeGetZ = false;
1436
1440 vtkSmartPointer<vtkMatrix3x3> EnvironmentRotationMatrix;
1441
1443
1446 bool SkyboxBlurEnabled = false;
1447 float SkyboxBlurRadius = 20.0f;
1449
1454 double EnvironmentUp[3] = { 0.0, 1.0, 0.0 };
1455 double EnvironmentRight[3] = { 1.0, 0.0, 0.0 };
1456
1460 vtkSmartPointer<vtkTransform> UserLightTransform;
1461
1462 vtkRenderer(const vtkRenderer&) = delete;
1463 void operator=(const vtkRenderer&) = delete;
1464};
1465
1467{
1468 return this->Lights;
1469}
1470
1475{
1476 return this->Cullers;
1477}
1478
1479VTK_ABI_NAMESPACE_END
1480#endif
a actor that draws 2D data
Definition vtkActor2D.h:145
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition vtkCamera.h:151
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:108
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition vtkLight.h:159
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:68
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
vtkTransform * GetUserLightTransform() const
Set the user light transform applied after the camera transform.
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...
void SetUserLightTransform(vtkTransform *transform)
Set the user light transform applied after the camera transform.
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 in window-system coordinates, return the Z value.
friend class vtkHardwareSelector
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
vtkProp * BackgroundProp
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.
std::vector< vtkProp * > PropArray
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:168
record modification and/or execution time
describes linear transformations via a 4x4 matrix
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:130
window superclass for vtkRenderWindow
Definition vtkWindow.h:62
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:318
#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)