VTK  9.7.1
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
29 #ifndef vtkRenderer_h
30 #define vtkRenderer_h
31 
32 #include "vtkRenderingCoreModule.h" // For export macro
33 #include "vtkViewport.h"
34 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
35 
36 #include "vtkActorCollection.h" // Needed for access in inline members
37 #include "vtkMatrix3x3.h"
38 #include "vtkVolumeCollection.h" // Needed for access in inline members
39 
40 #include <array> // To store matrices
41 
42 VTK_ABI_NAMESPACE_BEGIN
43 class vtkFXAAOptions;
44 class vtkRenderWindow;
45 class vtkVolume;
46 class vtkCuller;
47 class vtkActor;
48 class vtkActor2D;
49 class vtkCamera;
51 class vtkInformation;
52 class vtkLightCollection;
54 class vtkLight;
57 class vtkRenderPass;
58 class vtkTexture;
59 
60 class vtkRecti;
61 class vtkVector3d;
62 
63 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderer : public vtkViewport
64 {
65 public:
66  vtkTypeMacro(vtkRenderer, vtkViewport);
67  void PrintSelf(ostream& os, vtkIndent indent) override;
68 
74  static vtkRenderer* New();
75 
77 
83  void AddActor(vtkProp* p);
85  void AddVolume(vtkProp* p);
87  void RemoveActor(vtkProp* p);
89  void RemoveVolume(vtkProp* p);
91 
96  void AddLight(vtkLight*);
97 
102  void RemoveLight(vtkLight*);
103 
108  void RemoveAllLights();
109 
113  vtkLightCollection* GetLights();
114 
121  void SetLightCollection(vtkLightCollection* lights);
122 
126  void CreateLight();
127 
133  virtual vtkLight* MakeLight();
134 
136 
142  vtkGetMacro(TwoSidedLighting, vtkTypeBool);
143  vtkSetMacro(TwoSidedLighting, vtkTypeBool);
144  vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
146 
148 
161  vtkSetMacro(LightFollowCamera, vtkTypeBool);
162  vtkGetMacro(LightFollowCamera, vtkTypeBool);
163  vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
165 
167 
175  vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
176  vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
177  vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
179 
185  virtual vtkTypeBool UpdateLightsGeometryToFollowCamera();
186 
191  vtkVolumeCollection* GetVolumes();
192 
197  vtkActorCollection* GetActors();
198 
202  void SetActiveCamera(vtkCamera*);
203 
209  vtkCamera* GetActiveCamera();
210 
216  virtual vtkCamera* MakeCamera();
217 
219 
225  vtkSetMacro(Erase, vtkTypeBool);
226  vtkGetMacro(Erase, vtkTypeBool);
227  vtkBooleanMacro(Erase, vtkTypeBool);
229 
231 
236  vtkSetMacro(Draw, vtkTypeBool);
237  vtkGetMacro(Draw, vtkTypeBool);
238  vtkBooleanMacro(Draw, vtkTypeBool);
240 
245  int CaptureGL2PSSpecialProp(vtkProp*);
246 
252  void SetGL2PSSpecialPropCollection(vtkPropCollection*);
253 
258  void AddCuller(vtkCuller*);
259 
264  void RemoveCuller(vtkCuller*);
265 
269  vtkCullerCollection* GetCullers();
270 
272 
275  vtkSetVector3Macro(Ambient, double);
276  vtkGetVectorMacro(Ambient, double, 3);
278 
280 
284  vtkSetMacro(AllocatedRenderTime, double);
285  virtual double GetAllocatedRenderTime();
287 
294  virtual double GetTimeFactor();
295 
302  virtual void Render();
303 
307  virtual void DeviceRender() {}
308 
315  virtual void DeviceRenderOpaqueGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
316 
326  virtual void DeviceRenderTranslucentPolygonalGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
327 
332  virtual void ClearLights() {}
333 
337  virtual void Clear() {}
338 
342  int VisibleActorCount();
343 
347  int VisibleVolumeCount();
348 
353  void ComputeVisiblePropBounds(double bounds[6]);
354 
358  double* ComputeVisiblePropBounds() VTK_SIZEHINT(6);
359 
364  virtual void ResetCameraClippingRange();
365 
367 
370  virtual void ResetCameraClippingRange(const double bounds[6]);
371  virtual void ResetCameraClippingRange(
372  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
374 
376 
381  vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
382  vtkGetMacro(NearClippingPlaneTolerance, double);
384 
386 
391  vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
392  vtkGetMacro(ClippingRangeExpansion, double);
394 
402  virtual bool ResetCamera();
403 
413  virtual void ResetCamera(const double bounds[6]);
414 
418  virtual void ResetCamera(
419  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
420 
429  virtual bool ResetCameraScreenSpace(double offsetRatio = 0.9);
430 
439  virtual void ResetCameraScreenSpace(const double bounds[6], double offsetRatio = 0.9);
440 
441  using vtkViewport::DisplayToWorld;
442 
446  vtkVector3d DisplayToWorld(const vtkVector3d& display);
447 
453  void ZoomToBoxUsingViewAngle(const vtkRecti& box, double offsetRatio = 1.0);
454 
461  virtual void ResetCameraScreenSpace(double xmin, double xmax, double ymin, double ymax,
462  double zmin, double zmax, double offsetRatio = 0.9);
463 
465 
470  void SetRenderWindow(vtkRenderWindow*);
471  vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
472  vtkWindow* GetVTKWindow() override;
474 
476 
482  vtkSetMacro(BackingStore, vtkTypeBool);
483  vtkGetMacro(BackingStore, vtkTypeBool);
484  vtkBooleanMacro(BackingStore, vtkTypeBool);
486 
488 
493  vtkSetMacro(Interactive, vtkTypeBool);
494  vtkGetMacro(Interactive, vtkTypeBool);
495  vtkBooleanMacro(Interactive, vtkTypeBool);
497 
499 
510  virtual void SetLayer(int layer);
511  vtkGetMacro(Layer, int);
513 
515 
525  vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
526  vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
527  vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
529 
531 
535  vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
536  vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
537  vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
539 
544  vtkTypeBool Transparent();
545 
549  void WorldToView() override;
550 
552 
555  void ViewToWorld() override;
556  void ViewToWorld(double& wx, double& wy, double& wz) override;
558 
562  void WorldToView(double& wx, double& wy, double& wz) override;
563 
565 
568  void WorldToPose(double& wx, double& wy, double& wz) override;
569  void PoseToWorld(double& wx, double& wy, double& wz) override;
570  void ViewToPose(double& wx, double& wy, double& wz) override;
571  void PoseToView(double& wx, double& wy, double& wz) override;
573 
586  double GetZ(int x, int y);
587 
589 
596  vtkSetMacro(SafeGetZ, bool);
597  vtkGetMacro(SafeGetZ, bool);
598  vtkBooleanMacro(SafeGetZ, bool);
600 
604  vtkMTimeType GetMTime() override;
605 
607 
610  vtkGetMacro(LastRenderTimeInSeconds, double);
612 
614 
620  vtkGetMacro(NumberOfPropsRendered, int);
622 
624 
631  vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
632  {
633  return this->PickProp(selectionX, selectionY, selectionX, selectionY);
634  }
636  double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
638 
640 
650  vtkAssemblyPath* PickProp(double selectionX, double selectionY, int fieldAssociation,
651  vtkSmartPointer<vtkSelection> selection) override
652  {
653  return this->PickProp(
654  selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
655  }
656  vtkAssemblyPath* PickProp(double selectionX1, double selectionY1, double selectionX2,
657  double selectionY2, int fieldAssociation, vtkSmartPointer<vtkSelection> selection) override;
659 
665  virtual void StereoMidpoint() {}
666 
673  double GetTiledAspectRatio();
674 
680  vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
681 
683 
693  vtkSetMacro(UseDepthPeeling, vtkTypeBool);
694  vtkGetMacro(UseDepthPeeling, vtkTypeBool);
695  vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
697 
703  vtkSetMacro(UseDepthPeelingForVolumes, bool);
704  vtkGetMacro(UseDepthPeelingForVolumes, bool);
705  vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
706 
708 
717  vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
718  vtkGetMacro(OcclusionRatio, double);
720 
722 
727  vtkSetMacro(MaximumNumberOfPeels, int);
728  vtkGetMacro(MaximumNumberOfPeels, int);
730 
732 
737  vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
739 
741 
745  vtkSetMacro(UseSSAO, bool);
746  vtkGetMacro(UseSSAO, bool);
747  vtkBooleanMacro(UseSSAO, bool);
749 
751 
755  vtkSetMacro(SSAORadius, double);
756  vtkGetMacro(SSAORadius, double);
758 
760 
764  vtkSetMacro(SSAOBias, double);
765  vtkGetMacro(SSAOBias, double);
767 
769 
773  vtkSetMacro(SSAOKernelSize, unsigned int);
774  vtkGetMacro(SSAOKernelSize, unsigned int);
776 
778 
783  vtkSetMacro(SSAOBlur, bool);
784  vtkGetMacro(SSAOBlur, bool);
785  vtkBooleanMacro(SSAOBlur, bool);
787 
789 
795  void SetDelegate(vtkRendererDelegate* d);
796  vtkGetObjectMacro(Delegate, vtkRendererDelegate);
798 
800 
805  vtkGetObjectMacro(Selector, vtkHardwareSelector);
807 
809 
814  virtual void SetLeftBackgroundTexture(vtkTexture*);
815  vtkTexture* GetLeftBackgroundTexture();
816  virtual void SetBackgroundTexture(vtkTexture*);
817  vtkGetObjectMacro(BackgroundTexture, vtkTexture);
819 
821 
825  virtual void SetRightBackgroundTexture(vtkTexture*);
826  vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
828 
830 
834  vtkSetMacro(TexturedBackground, bool);
835  vtkGetMacro(TexturedBackground, bool);
836  vtkBooleanMacro(TexturedBackground, bool);
838 
839  // method to release graphics resources in any derived renderers.
840  virtual void ReleaseGraphicsResources(vtkWindow*);
841 
843 
846  vtkSetMacro(UseFXAA, bool);
847  vtkGetMacro(UseFXAA, bool);
848  vtkBooleanMacro(UseFXAA, bool);
850 
852 
855  vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
856  virtual void SetFXAAOptions(vtkFXAAOptions*);
858 
860 
864  vtkSetMacro(UseShadows, vtkTypeBool);
865  vtkGetMacro(UseShadows, vtkTypeBool);
866  vtkBooleanMacro(UseShadows, vtkTypeBool);
868 
870 
874  vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
875  vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
876  vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
878 
879  // Set/Get a custom render pass.
880  // Initial value is NULL.
881  void SetPass(vtkRenderPass* p);
882  vtkGetObjectMacro(Pass, vtkRenderPass);
883 
885 
888  vtkGetObjectMacro(Information, vtkInformation);
889  virtual void SetInformation(vtkInformation*);
891 
893 
899  vtkSetMacro(UseImageBasedLighting, bool);
900  vtkGetMacro(UseImageBasedLighting, bool);
901  vtkBooleanMacro(UseImageBasedLighting, bool);
903 
905 
910  VTK_MARSHALGETTER(EnvironmentTextureProperty)
911  vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
912  VTK_MARSHALSETTER(EnvironmentTextureProperty)
913  void SetEnvironmentTextureProperty(vtkTexture* texture) { this->SetEnvironmentTexture(texture); }
914  virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
916 
918 
925  virtual double* GetEnvironmentUp();
926  virtual void GetEnvironmentUp(double& vectorUpX, double& vectorUpY, double& vectorUpZ);
927  virtual void GetEnvironmentUp(double vectorUp[3]);
928  virtual void SetEnvironmentUp(double vectorUpX, double vectorUpY, double vectorUpZ);
929  virtual void SetEnvironmentUp(double vectorUp[3]);
931 
933 
940  virtual double* GetEnvironmentRight();
941  virtual void GetEnvironmentRight(
942  double& vectorRightX, double& vectorRightY, double& vectorRightZ);
943  virtual void GetEnvironmentRight(double vectorRight[3]);
944  virtual void SetEnvironmentRight(double vectorRightX, double vectorRightY, double vectorRightZ);
945  virtual void SetEnvironmentRight(double vectorRight[3]);
947 
949 
954  vtkGetSmartPointerMacro(EnvironmentRotationMatrix, vtkMatrix3x3);
955  void SetEnvironmentRotationMatrix(vtkMatrix3x3* matrix);
957 
959 
962  vtkSetMacro(SkyboxBlurEnabled, bool);
963  vtkGetMacro(SkyboxBlurEnabled, bool);
964  vtkBooleanMacro(SkyboxBlurEnabled, bool);
966 
968 
972  vtkSetMacro(SkyboxBlurRadius, float);
973  vtkGetMacro(SkyboxBlurRadius, float);
975 
977 
988  vtkSetMacro(UseOIT, bool);
989  vtkGetMacro(UseOIT, bool);
990  vtkBooleanMacro(UseOIT, bool);
992 
993 protected:
994  vtkRenderer();
995  ~vtkRenderer() override;
996 
997  // internal method to expand bounding box to consider model transform
998  // matrix or model view transform matrix based on whether or not deering
999  // frustum is used. 'bounds' buffer is mutated to the expanded box.
1000  virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
1001 
1004 
1007 
1010 
1011  double Ambient[3];
1014  double TimeFactor;
1018  unsigned char* BackingImage;
1019  int BackingStoreSize[2];
1021 
1023 
1025 
1026  // Allocate the time for each prop
1027  void AllocateTime();
1028 
1029  // Internal variables indicating the number of props
1030  // that have been or will be rendered in each category.
1032 
1033  // A temporary list of props used for culling, and traversal
1034  // of all props when rendering
1035  std::vector<vtkProp*> PropArray;
1036  vtkProp* BackgroundProp = nullptr;
1037 
1038  // Indicates if the renderer should receive events from an interactor.
1039  // Typically only used in conjunction with transparent renderers.
1041 
1042  // Shows what layer this renderer belongs to. Only of interested when
1043  // there are layered renderers.
1044  int Layer;
1047 
1048  // Holds the result of ComputeVisiblePropBounds so that it is visible from
1049  // wrapped languages
1050  double ComputedVisiblePropBounds[6];
1051 
1060 
1066 
1074 
1081 
1086 
1091  const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1092 
1097  const std::array<double, 16>& GetProjectionTransformationMatrix();
1098 
1103  const std::array<double, 16>& GetViewTransformMatrix();
1104 
1110  virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1111 
1119  virtual int UpdateTranslucentPolygonalGeometry();
1120 
1126  virtual int UpdateOpaquePolygonalGeometry();
1127 
1132  virtual int UpdateCamera();
1133 
1139  virtual vtkTypeBool UpdateLightGeometry();
1140 
1145  virtual int UpdateLights() { return 0; }
1146 
1152  vtkCamera* GetActiveCameraAndResetIfCreated();
1153 
1158  bool UseFXAA;
1159 
1164 
1170 
1176 
1184 
1190 
1201 
1208 
1209  bool UseSSAO = false;
1210  double SSAORadius = 0.5;
1211  double SSAOBias = 0.01;
1212  unsigned int SSAOKernelSize = 32;
1213  bool SSAOBlur = false;
1214 
1226  bool UseOIT = true;
1227 
1234 
1235  // HARDWARE SELECTION ----------------------------------------
1236  friend class vtkHardwareSelector;
1237 
1242  {
1243  this->Selector = selector;
1244  this->Modified();
1245  }
1246 
1247  // End Ivars for visible cell selecting.
1249 
1250  //---------------------------------------------------------------
1251  friend class vtkRendererDelegate;
1253 
1257 
1258  friend class vtkRenderPass;
1260 
1261  // Arbitrary extra information associated with this renderer
1263 
1266 
1267 private:
1271  void ComputeRotationMatrixForwardVector();
1272 
1276  std::array<double, 16> CompositeProjectionTransformationMatrix;
1277 
1281  double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1282 
1286  vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1287 
1291  std::array<double, 16> ProjectionTransformationMatrix;
1292 
1296  double LastProjectionTransformationMatrixTiledAspectRatio;
1297 
1301  vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1302 
1306  std::array<double, 16> ViewTransformMatrix;
1307 
1311  vtkMTimeType LastViewTransformCameraModified;
1312 
1316  bool SafeGetZ = false;
1317 
1321  vtkSmartPointer<vtkMatrix3x3> EnvironmentRotationMatrix;
1322 
1324 
1327  bool SkyboxBlurEnabled = false;
1328  float SkyboxBlurRadius = 20.0f;
1330 
1335  double EnvironmentUp[3] = { 0.0, 1.0, 0.0 };
1336  double EnvironmentRight[3] = { 1.0, 0.0, 0.0 };
1337 
1338  vtkRenderer(const vtkRenderer&) = delete;
1339  void operator=(const vtkRenderer&) = delete;
1340 };
1341 
1343 {
1344  return this->Lights;
1345 }
1346 
1351 {
1352  return this->Cullers;
1353 }
1354 
1355 VTK_ABI_NAMESPACE_END
1356 #endif
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...
Definition: vtkRenderer.h:650
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
vtkInformation * Information
Definition: vtkRenderer.h:1262
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
Definition: vtkRenderer.h:1065
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off...
Definition: vtkRenderer.h:1169
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:40
virtual void WorldToPose(double &, double &, double &)
These methods map from one coordinate system to another.
Definition: vtkViewport.h:309
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
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:631
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
abstract specification for Viewports
Definition: vtkViewport.h:46
vtkRenderPass * Pass
Definition: vtkRenderer.h:1259
std::vector< vtkProp * > PropArray
Definition: vtkRenderer.h:1035
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkRenderWindow * RenderWindow
Definition: vtkRenderer.h:1012
double OcclusionRatio
In case of use of depth peeling technique for rendering translucent material, define the threshold un...
Definition: vtkRenderer.h:1200
a actor that draws 2D data
Definition: vtkActor2D.h:35
record modification and/or execution time
Definition: vtkTimeStamp.h:24
vtkTexture * EnvironmentTexture
Definition: vtkRenderer.h:1265
bool UseDepthPeelingForVolumes
This flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry...
Definition: vtkRenderer.h:1189
vtkTypeBool PreserveDepthBuffer
Definition: vtkRenderer.h:1046
vtkTypeBool IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
Definition: vtkRenderer.h:680
abstract specification for renderers
Definition: vtkRenderer.h:63
vtkTypeBool BackingStore
Definition: vtkRenderer.h:1017
double AllocatedRenderTime
Definition: vtkRenderer.h:1013
an ordered list of lights
vtkRendererDelegate * Delegate
Definition: vtkRenderer.h:1252
vtkTypeBool LightFollowCamera
Definition: vtkRenderer.h:1024
vtkTimeStamp RenderTime
Definition: vtkRenderer.h:1020
an ordered list of Props
vtkTypeBool TwoSidedLighting
Definition: vtkRenderer.h:1015
int vtkTypeBool
Definition: vtkABI.h:64
double LastRenderTimeInSeconds
Definition: vtkRenderer.h:1022
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
vtkVolumeCollection * Volumes
Definition: vtkRenderer.h:1009
vtkTypeBool Draw
When this flag is off, render commands are ignored.
Definition: vtkRenderer.h:1080
vtkCullerCollection * Cullers
Definition: vtkRenderer.h:1006
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.
abstract interface to OpenGL FBOs
void SetSelector(vtkHardwareSelector *selector)
Called by vtkHardwareSelector when it begins rendering for selection.
Definition: vtkRenderer.h:1241
double TimeFactor
Definition: vtkRenderer.h:1014
a list of nodes that form an assembly path
vtkTypeBool PreserveColorBuffer
Definition: vtkRenderer.h:1045
unsigned char * BackingImage
Definition: vtkRenderer.h:1018
a superclass for prop cullers
Definition: vtkCuller.h:30
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render...
Definition: vtkRenderer.h:665
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
vtkCamera * ActiveCamera
Definition: vtkRenderer.h:1002
#define VTK_MARSHALGETTER(property)
vtkTypeBool AutomaticLightCreation
Definition: vtkRenderer.h:1016
a virtual light for 3D rendering
Definition: vtkLight.h:49
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene...
Definition: vtkRenderer.h:1158
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkTypeBool UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
Definition: vtkRenderer.h:1183
vtkLightCollection * GetLights()
Return the collection of lights.
Definition: vtkRenderer.h:1342
virtual void PoseToWorld(double &, double &, double &)
These methods map from one coordinate system to another.
Definition: vtkViewport.h:302
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
Definition: vtkRenderer.h:1085
an ordered list of volumes
virtual int UpdateLights()
Ask all lights to load themselves into rendering pipeline.
Definition: vtkRenderer.h:1145
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
Definition: vtkRenderer.h:1163
handles properties associated with a texture map
Definition: vtkTexture.h:58
virtual void Modified()
Update the modification time for this object.
vtkTypeBool Interactive
Definition: vtkRenderer.h:1040
vtkLightCollection * Lights
Definition: vtkRenderer.h:1005
virtual void ViewToPose(double &, double &, double &)
These methods map from one coordinate system to another.
Definition: vtkViewport.h:301
#define VTK_SIZEHINT(...)
vtkActorCollection * Actors
Definition: vtkRenderer.h:1008
bool TexturedBackground
Definition: vtkRenderer.h:1254
#define VTK_MARSHALEXCLUDE(reason)
an ordered list of actors
vtkHardwareSelector * Selector
Definition: vtkRenderer.h:1248
virtual void PoseToView(double &, double &, double &)
These methods map from one coordinate system to another.
Definition: vtkViewport.h:308
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
Definition: vtkRenderer.h:1059
an ordered list of Cullers
virtual void ClearLights()
Internal method temporarily removes lights before reloading them into graphics pipeline.
Definition: vtkRenderer.h:332
create a window for renderers to draw into
vtkTypeBool UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
Definition: vtkRenderer.h:1175
virtual void ViewToWorld()
Convert view point coordinates to world coordinates.
Render the props of a vtkRenderer.
bool UseImageBasedLighting
Definition: vtkRenderer.h:1264
vtkTexture * BackgroundTexture
Definition: vtkRenderer.h:1255
#define VTK_MARSHALAUTO
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling...
Definition: vtkRenderer.h:1233
vtkCullerCollection * GetCullers()
Return the collection of cullers.
Definition: vtkRenderer.h:1350
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Perform part of the rendering of a vtkRenderer.
Definition: vtkRenderPass.h:49
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:26
virtual vtkWindow * GetVTKWindow()=0
Return the vtkWindow that owns this vtkViewport.
int NumberOfPropsRendered
Definition: vtkRenderer.h:1031
vtkLight * CreatedLight
Definition: vtkRenderer.h:1003
virtual void WorldToView()
Convert world point coordinates to view coordinates.
virtual void Clear()
Clear the image to the background color.
Definition: vtkRenderer.h:337
vtkTexture * RightBackgroundTexture
Definition: vtkRenderer.h:1256
Configuration for FXAA implementations.
int MaximumNumberOfPeels
In case of depth peeling, define the maximum number of peeling layers.
Definition: vtkRenderer.h:1207
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer. ...
Definition: vtkRenderer.h:1073
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALSETTER(property)