VTK  9.5.20250915
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
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 "vtkVolumeCollection.h" // Needed for access in inline members
148
149#include <array> // To store matrices
150
151VTK_ABI_NAMESPACE_BEGIN
152class vtkFXAAOptions;
153class vtkRenderWindow;
154class vtkVolume;
155class vtkCuller;
156class vtkActor;
157class vtkActor2D;
158class vtkCamera;
160class vtkInformation;
163class vtkLight;
166class vtkRenderPass;
167class vtkTexture;
168
169class vtkRecti;
170class vtkVector3d;
171
172class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderer : public vtkViewport
173{
174public:
175 vtkTypeMacro(vtkRenderer, vtkViewport);
176 void PrintSelf(ostream& os, vtkIndent indent) override;
177
183 static vtkRenderer* New();
184
186
192 void AddActor(vtkProp* p);
194 void AddVolume(vtkProp* p);
196 void RemoveActor(vtkProp* p);
198 void RemoveVolume(vtkProp* p);
200
205 void AddLight(vtkLight*);
206
211 void RemoveLight(vtkLight*);
212
217 void RemoveAllLights();
218
222 vtkLightCollection* GetLights();
223
230 void SetLightCollection(vtkLightCollection* lights);
231
235 void CreateLight();
236
242 virtual vtkLight* MakeLight();
243
245
251 vtkGetMacro(TwoSidedLighting, vtkTypeBool);
252 vtkSetMacro(TwoSidedLighting, vtkTypeBool);
253 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
255
257
270 vtkSetMacro(LightFollowCamera, vtkTypeBool);
271 vtkGetMacro(LightFollowCamera, vtkTypeBool);
272 vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
274
276
284 vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
285 vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
286 vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
288
294 virtual vtkTypeBool UpdateLightsGeometryToFollowCamera();
295
300 vtkVolumeCollection* GetVolumes();
301
306 vtkActorCollection* GetActors();
307
311 void SetActiveCamera(vtkCamera*);
312
318 vtkCamera* GetActiveCamera();
319
325 virtual vtkCamera* MakeCamera();
326
328
334 vtkSetMacro(Erase, vtkTypeBool);
335 vtkGetMacro(Erase, vtkTypeBool);
336 vtkBooleanMacro(Erase, vtkTypeBool);
338
340
345 vtkSetMacro(Draw, vtkTypeBool);
346 vtkGetMacro(Draw, vtkTypeBool);
347 vtkBooleanMacro(Draw, vtkTypeBool);
349
354 int CaptureGL2PSSpecialProp(vtkProp*);
355
361 void SetGL2PSSpecialPropCollection(vtkPropCollection*);
362
367 void AddCuller(vtkCuller*);
368
373 void RemoveCuller(vtkCuller*);
374
378 vtkCullerCollection* GetCullers();
379
381
384 vtkSetVector3Macro(Ambient, double);
385 vtkGetVectorMacro(Ambient, double, 3);
387
389
393 vtkSetMacro(AllocatedRenderTime, double);
394 virtual double GetAllocatedRenderTime();
396
403 virtual double GetTimeFactor();
404
411 virtual void Render();
412
416 virtual void DeviceRender() {}
417
425
436
441 virtual void ClearLights() {}
442
446 virtual void Clear() {}
447
452
457
462 void ComputeVisiblePropBounds(double bounds[6]);
463
468
473 virtual void ResetCameraClippingRange();
474
476
479 virtual void ResetCameraClippingRange(const double bounds[6]);
480 virtual void ResetCameraClippingRange(
481 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
483
485
490 vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
491 vtkGetMacro(NearClippingPlaneTolerance, double);
493
495
500 vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
501 vtkGetMacro(ClippingRangeExpansion, double);
503
510 virtual void ResetCamera();
511
521 virtual void ResetCamera(const double bounds[6]);
522
526 virtual void ResetCamera(
527 double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
528
536 virtual void ResetCameraScreenSpace(double offsetRatio = 0.9);
537
546 virtual void ResetCameraScreenSpace(const double bounds[6], double offsetRatio = 0.9);
547
548 using vtkViewport::DisplayToWorld;
549
553 vtkVector3d DisplayToWorld(const vtkVector3d& display);
554
560 void ZoomToBoxUsingViewAngle(const vtkRecti& box, double offsetRatio = 1.0);
561
568 virtual void ResetCameraScreenSpace(double xmin, double xmax, double ymin, double ymax,
569 double zmin, double zmax, double offsetRatio = 0.9);
570
572
577 void SetRenderWindow(vtkRenderWindow*);
578 vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
581
583
589 vtkSetMacro(BackingStore, vtkTypeBool);
590 vtkGetMacro(BackingStore, vtkTypeBool);
591 vtkBooleanMacro(BackingStore, vtkTypeBool);
593
595
600 vtkSetMacro(Interactive, vtkTypeBool);
601 vtkGetMacro(Interactive, vtkTypeBool);
602 vtkBooleanMacro(Interactive, vtkTypeBool);
604
606
617 virtual void SetLayer(int layer);
618 vtkGetMacro(Layer, int);
620
622
632 vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
633 vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
634 vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
636
638
642 vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
643 vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
644 vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
646
652
656 void WorldToView() override;
657
659
662 void ViewToWorld() override;
663 void ViewToWorld(double& wx, double& wy, double& wz) override;
665
669 void WorldToView(double& wx, double& wy, double& wz) override;
670
672
675 void WorldToPose(double& wx, double& wy, double& wz) override;
676 void PoseToWorld(double& wx, double& wy, double& wz) override;
677 void ViewToPose(double& wx, double& wy, double& wz) override;
678 void PoseToView(double& wx, double& wy, double& wz) override;
680
690 double GetZ(int x, int y);
691
693
700 vtkSetMacro(SafeGetZ, bool);
701 vtkGetMacro(SafeGetZ, bool);
702 vtkBooleanMacro(SafeGetZ, bool);
704
709
711
714 vtkGetMacro(LastRenderTimeInSeconds, double);
716
718
724 vtkGetMacro(NumberOfPropsRendered, int);
726
728
735 vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
736 {
737 return this->PickProp(selectionX, selectionY, selectionX, selectionY);
738 }
740 double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
742
744
754 vtkAssemblyPath* PickProp(double selectionX, double selectionY, int fieldAssociation,
755 vtkSmartPointer<vtkSelection> selection) override
756 {
757 return this->PickProp(
758 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
759 }
760 vtkAssemblyPath* PickProp(double selectionX1, double selectionY1, double selectionX2,
761 double selectionY2, int fieldAssociation, vtkSmartPointer<vtkSelection> selection) override;
763
769 virtual void StereoMidpoint() {}
770
778
784 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
785
787
797 vtkSetMacro(UseDepthPeeling, vtkTypeBool);
798 vtkGetMacro(UseDepthPeeling, vtkTypeBool);
799 vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
801
807 vtkSetMacro(UseDepthPeelingForVolumes, bool);
808 vtkGetMacro(UseDepthPeelingForVolumes, bool);
809 vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
810
812
821 vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
822 vtkGetMacro(OcclusionRatio, double);
824
826
831 vtkSetMacro(MaximumNumberOfPeels, int);
832 vtkGetMacro(MaximumNumberOfPeels, int);
834
836
841 vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
843
845
849 vtkSetMacro(UseSSAO, bool);
850 vtkGetMacro(UseSSAO, bool);
851 vtkBooleanMacro(UseSSAO, bool);
853
855
859 vtkSetMacro(SSAORadius, double);
860 vtkGetMacro(SSAORadius, double);
862
864
868 vtkSetMacro(SSAOBias, double);
869 vtkGetMacro(SSAOBias, double);
871
873
877 vtkSetMacro(SSAOKernelSize, unsigned int);
878 vtkGetMacro(SSAOKernelSize, unsigned int);
880
882
887 vtkSetMacro(SSAOBlur, bool);
888 vtkGetMacro(SSAOBlur, bool);
889 vtkBooleanMacro(SSAOBlur, bool);
891
893
900 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
902
904
909 vtkGetObjectMacro(Selector, vtkHardwareSelector);
911
913
921 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
923
925
930 vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
932
934
938 vtkSetMacro(TexturedBackground, bool);
939 vtkGetMacro(TexturedBackground, bool);
940 vtkBooleanMacro(TexturedBackground, bool);
942
943 // method to release graphics resources in any derived renderers.
945
947
950 vtkSetMacro(UseFXAA, bool);
951 vtkGetMacro(UseFXAA, bool);
952 vtkBooleanMacro(UseFXAA, bool);
954
956
959 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
962
964
968 vtkSetMacro(UseShadows, vtkTypeBool);
969 vtkGetMacro(UseShadows, vtkTypeBool);
970 vtkBooleanMacro(UseShadows, vtkTypeBool);
972
974
978 vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
979 vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
980 vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
982
983 // Set/Get a custom render pass.
984 // Initial value is NULL.
986 vtkGetObjectMacro(Pass, vtkRenderPass);
987
989
992 vtkGetObjectMacro(Information, vtkInformation);
995
997
1003 vtkSetMacro(UseImageBasedLighting, bool);
1004 vtkGetMacro(UseImageBasedLighting, bool);
1005 vtkBooleanMacro(UseImageBasedLighting, bool);
1007
1009
1014 VTK_MARSHALGETTER(EnvironmentTextureProperty)
1015 vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
1016 VTK_MARSHALSETTER(EnvironmentTextureProperty)
1017 void SetEnvironmentTextureProperty(vtkTexture* texture) { this->SetEnvironmentTexture(texture); }
1018 virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
1020
1022
1029 virtual double* GetEnvironmentUp();
1030 virtual void GetEnvironmentUp(double& vectorUpX, double& vectorUpY, double& vectorUpZ);
1031 virtual void GetEnvironmentUp(double vectorUp[3]);
1032 virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ);
1033 virtual void SetEnvironmentUp(double vectorUp[3]);
1035
1037
1044 virtual double* GetEnvironmentRight();
1046 double& vectorRightX, double& vectorRightY, double& vectorRightZ);
1047 virtual void GetEnvironmentRight(double vectorRight[3]);
1048 virtual void SetEnvironmentRight(double vectorRightX, double vectorRightY, double vectorRightZ);
1049 virtual void SetEnvironmentRight(double vectorRight[3]);
1051
1053
1058 vtkMatrix3x3* GetEnvironmentRotationMatrix() { return this->EnvironmentRotationMatrix; }
1060 {
1061 this->EnvironmentRotationMatrix->SetData(matrix->GetData());
1062 }
1064
1066
1077 vtkSetMacro(UseOIT, bool);
1078 vtkGetMacro(UseOIT, bool);
1079 vtkBooleanMacro(UseOIT, bool);
1081
1082protected:
1084 ~vtkRenderer() override;
1085
1086 // internal method to expand bounding box to consider model transform
1087 // matrix or model view transform matrix based on whether or not deering
1088 // frustum is used. 'bounds' buffer is mutated to the expanded box.
1089 virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
1090
1093
1096
1099
1100 double Ambient[3];
1107 unsigned char* BackingImage;
1108 int BackingStoreSize[2];
1110
1112
1114
1115 // Allocate the time for each prop
1117
1118 // Internal variables indicating the number of props
1119 // that have been or will be rendered in each category.
1121
1122 // A temporary list of props used for culling, and traversal
1123 // of all props when rendering
1126
1127 // Indicates if the renderer should receive events from an interactor.
1128 // Typically only used in conjunction with transparent renderers.
1130
1131 // Shows what layer this renderer belongs to. Only of interested when
1132 // there are layered renderers.
1136
1137 // Holds the result of ComputeVisiblePropBounds so that it is visible from
1138 // wrapped languages
1139 double ComputedVisiblePropBounds[6];
1140
1149
1155
1163
1170
1175
1180 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1181
1186 const std::array<double, 16>& GetProjectionTransformationMatrix();
1187
1192 const std::array<double, 16>& GetViewTransformMatrix();
1193
1199 virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1200
1209
1216
1221 virtual int UpdateCamera();
1222
1229
1234 virtual int UpdateLights() { return 0; }
1235
1242
1248
1253
1259
1265
1273
1279
1290
1297
1298 bool UseSSAO = false;
1299 double SSAORadius = 0.5;
1300 double SSAOBias = 0.01;
1301 unsigned int SSAOKernelSize = 32;
1302 bool SSAOBlur = false;
1303
1315 bool UseOIT = true;
1316
1323
1324 // HARDWARE SELECTION ----------------------------------------
1326
1331 {
1332 this->Selector = selector;
1333 this->Modified();
1334 }
1335
1336 // End Ivars for visible cell selecting.
1338
1339 //---------------------------------------------------------------
1342
1346
1347 friend class vtkRenderPass;
1349
1350 // Arbitrary extra information associated with this renderer
1352
1355
1356private:
1360 std::array<double, 16> CompositeProjectionTransformationMatrix;
1361
1365 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1366
1370 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1371
1375 std::array<double, 16> ProjectionTransformationMatrix;
1376
1380 double LastProjectionTransformationMatrixTiledAspectRatio;
1381
1385 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1386
1390 std::array<double, 16> ViewTransformMatrix;
1391
1395 vtkMTimeType LastViewTransformCameraModified;
1396
1400 bool SafeGetZ = false;
1401
1405 vtkNew<vtkMatrix3x3> EnvironmentRotationMatrix;
1406
1411 double EnvironmentUp[3] = { 0.0, 0.0, 0.0 };
1412 double EnvironmentRight[3] = { 0.0, 0.0, 0.0 };
1413
1414 vtkRenderer(const vtkRenderer&) = delete;
1415 void operator=(const vtkRenderer&) = delete;
1416};
1417
1419{
1420 return this->Lights;
1421}
1422
1427{
1428 return this->Cullers;
1429}
1430
1431VTK_ABI_NAMESPACE_END
1432#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
double * GetData()
Return a pointer to the first element of the matrix (double[9]).
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:167
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:69
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
virtual void GetEnvironmentRight(double vectorRight[3])
Set/Get the environment right vector.
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,...
virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ)
Set/Get the environment up vector.
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.
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.
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,...
vtkCullerCollection * GetCullers()
Return the collection of cullers.
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.
vtkMatrix3x3 * GetEnvironmentRotationMatrix()
Set/Get the environment rotation matrix.
~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.
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.
vtkTexture * EnvironmentTexture
bool UseDepthPeelingForVolumes
This flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry.
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)
virtual double * GetEnvironmentRight()
Set/Get the environment right vector.
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.
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.
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,...
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
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.
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
virtual void SetEnvironmentUp(double vectorUp[3])
Set/Get the environment up vector.
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
vtkTypeBool TwoSidedLighting
vtkTexture * RightBackgroundTexture
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.
virtual void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false)
Set/Get the environment texture used for image based lighting.
vtkTimeStamp RenderTime
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 WorldToView(double &wx, double &wy, double &wz) override
Convert world point coordinates to view coordinates.
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
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
abstract specification for Viewports
Definition vtkViewport.h:66
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:48
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:288
#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)