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 =========================================================================*/
141 #ifndef vtkRenderer_h
142 #define vtkRenderer_h
143 
144 #include "vtkRenderingCoreModule.h" // For export macro
145 #include "vtkViewport.h"
146 
147 #include "vtkActorCollection.h" // Needed for access in inline members
148 #include "vtkVolumeCollection.h" // Needed for access in inline members
149 
150 #include <array> // To store matrices
151 
152 class vtkFXAAOptions;
153 class vtkRenderWindow;
154 class vtkVolume;
155 class vtkCuller;
156 class vtkActor;
157 class vtkActor2D;
158 class vtkCamera;
160 class vtkInformation;
161 class vtkLightCollection;
162 class vtkCullerCollection;
163 class vtkLight;
164 class vtkHardwareSelector;
165 class vtkRendererDelegate;
166 class vtkRenderPass;
167 class vtkTexture;
168 
169 class vtkRecti;
170 class vtkVector3d;
171 
172 class VTKRENDERINGCORE_EXPORT vtkRenderer : public vtkViewport
173 {
174 public:
175  vtkTypeMacro(vtkRenderer, vtkViewport);
176  void PrintSelf(ostream& os, vtkIndent indent) override;
177 
183  static vtkRenderer* New();
184 
186 
191  void AddActor(vtkProp* p);
192  void AddVolume(vtkProp* p);
196 
201 
206 
211 
215  vtkLightCollection* GetLights();
216 
224 
228  void CreateLight(void);
229 
235  virtual vtkLight* MakeLight();
236 
238 
244  vtkGetMacro(TwoSidedLighting, vtkTypeBool);
245  vtkSetMacro(TwoSidedLighting, vtkTypeBool);
246  vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
248 
250 
263  vtkSetMacro(LightFollowCamera, vtkTypeBool);
264  vtkGetMacro(LightFollowCamera, vtkTypeBool);
265  vtkBooleanMacro(LightFollowCamera, vtkTypeBool);
267 
269 
277  vtkGetMacro(AutomaticLightCreation, vtkTypeBool);
278  vtkSetMacro(AutomaticLightCreation, vtkTypeBool);
279  vtkBooleanMacro(AutomaticLightCreation, vtkTypeBool);
281 
288 
293 
298 
303 
310 
316  virtual vtkCamera* MakeCamera();
317 
319 
325  vtkSetMacro(Erase, vtkTypeBool);
326  vtkGetMacro(Erase, vtkTypeBool);
327  vtkBooleanMacro(Erase, vtkTypeBool);
329 
331 
336  vtkSetMacro(Draw, vtkTypeBool);
337  vtkGetMacro(Draw, vtkTypeBool);
338  vtkBooleanMacro(Draw, vtkTypeBool);
340 
346 
353 
358 
363 
367  vtkCullerCollection* GetCullers();
368 
370 
373  vtkSetVector3Macro(Ambient, double);
374  vtkGetVectorMacro(Ambient, double, 3);
376 
378 
382  vtkSetMacro(AllocatedRenderTime, double);
383  virtual double GetAllocatedRenderTime();
385 
392  virtual double GetTimeFactor();
393 
400  virtual void Render();
401 
405  virtual void DeviceRender(){};
406 
414 
425 
430  virtual void ClearLights(void) {}
431 
435  virtual void Clear() {}
436 
441 
446 
451  void ComputeVisiblePropBounds(double bounds[6]);
452 
457 
462  virtual void ResetCameraClippingRange();
463 
465 
468  virtual void ResetCameraClippingRange(const double bounds[6]);
469  virtual void ResetCameraClippingRange(
470  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
472 
474 
479  vtkSetClampMacro(NearClippingPlaneTolerance, double, 0, 0.99);
480  vtkGetMacro(NearClippingPlaneTolerance, double);
482 
484 
489  vtkSetClampMacro(ClippingRangeExpansion, double, 0, 0.99);
490  vtkGetMacro(ClippingRangeExpansion, double);
492 
499  virtual void ResetCamera();
500 
510  virtual void ResetCamera(const double bounds[6]);
511 
515  virtual void ResetCamera(
516  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
517 
522  virtual void ResetCameraScreenSpace();
523 
529  virtual void ResetCameraScreenSpace(const double bounds[6]);
530 
531  using vtkViewport::DisplayToWorld;
532 
536  vtkVector3d DisplayToWorld(const vtkVector3d& display);
537 
543  void ZoomToBoxUsingViewAngle(const vtkRecti& box, const double offsetRatio = 1.0);
544 
548  virtual void ResetCameraScreenSpace(
549  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
550 
552 
557  void SetRenderWindow(vtkRenderWindow*);
558  vtkRenderWindow* GetRenderWindow() { return this->RenderWindow; }
559  vtkWindow* GetVTKWindow() override;
561 
563 
569  vtkSetMacro(BackingStore, vtkTypeBool);
570  vtkGetMacro(BackingStore, vtkTypeBool);
571  vtkBooleanMacro(BackingStore, vtkTypeBool);
573 
575 
580  vtkSetMacro(Interactive, vtkTypeBool);
581  vtkGetMacro(Interactive, vtkTypeBool);
582  vtkBooleanMacro(Interactive, vtkTypeBool);
584 
586 
597  virtual void SetLayer(int layer);
598  vtkGetMacro(Layer, int);
600 
602 
612  vtkGetMacro(PreserveColorBuffer, vtkTypeBool);
613  vtkSetMacro(PreserveColorBuffer, vtkTypeBool);
614  vtkBooleanMacro(PreserveColorBuffer, vtkTypeBool);
616 
618 
622  vtkSetMacro(PreserveDepthBuffer, vtkTypeBool);
623  vtkGetMacro(PreserveDepthBuffer, vtkTypeBool);
624  vtkBooleanMacro(PreserveDepthBuffer, vtkTypeBool);
626 
631  int Transparent();
632 
636  void WorldToView() override;
637 
639 
642  void ViewToWorld() override;
643  void ViewToWorld(double& wx, double& wy, double& wz) override;
645 
649  void WorldToView(double& wx, double& wy, double& wz) override;
650 
652 
655  void WorldToPose(double& wx, double& wy, double& wz) override;
656  void PoseToWorld(double& wx, double& wy, double& wz) override;
657  void ViewToPose(double& wx, double& wy, double& wz) override;
658  void PoseToView(double& wx, double& wy, double& wz) override;
660 
665  double GetZ(int x, int y);
666 
670  vtkMTimeType GetMTime() override;
671 
673 
676  vtkGetMacro(LastRenderTimeInSeconds, double);
678 
680 
686  vtkGetMacro(NumberOfPropsRendered, int);
688 
690 
697  vtkAssemblyPath* PickProp(double selectionX, double selectionY) override
698  {
699  return this->PickProp(selectionX, selectionY, selectionX, selectionY);
700  }
702  double selectionX1, double selectionY1, double selectionX2, double selectionY2) override;
704 
710  virtual void StereoMidpoint() { return; }
711 
719 
725  vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
726 
728 
738  vtkSetMacro(UseDepthPeeling, vtkTypeBool);
739  vtkGetMacro(UseDepthPeeling, vtkTypeBool);
740  vtkBooleanMacro(UseDepthPeeling, vtkTypeBool);
742 
748  vtkSetMacro(UseDepthPeelingForVolumes, bool);
749  vtkGetMacro(UseDepthPeelingForVolumes, bool);
750  vtkBooleanMacro(UseDepthPeelingForVolumes, bool);
751 
753 
762  vtkSetClampMacro(OcclusionRatio, double, 0.0, 0.5);
763  vtkGetMacro(OcclusionRatio, double);
765 
767 
772  vtkSetMacro(MaximumNumberOfPeels, int);
773  vtkGetMacro(MaximumNumberOfPeels, int);
775 
777 
782  vtkGetMacro(LastRenderingUsedDepthPeeling, vtkTypeBool);
784 
786 
790  vtkSetMacro(UseSSAO, bool);
791  vtkGetMacro(UseSSAO, bool);
792  vtkBooleanMacro(UseSSAO, bool);
794 
796 
800  vtkSetMacro(SSAORadius, double);
801  vtkGetMacro(SSAORadius, double);
803 
805 
809  vtkSetMacro(SSAOBias, double);
810  vtkGetMacro(SSAOBias, double);
812 
814 
818  vtkSetMacro(SSAOKernelSize, unsigned int);
819  vtkGetMacro(SSAOKernelSize, unsigned int);
821 
823 
828  vtkSetMacro(SSAOBlur, bool);
829  vtkGetMacro(SSAOBlur, bool);
830  vtkBooleanMacro(SSAOBlur, bool);
832 
834 
841  vtkGetObjectMacro(Delegate, vtkRendererDelegate);
843 
845 
850  vtkGetObjectMacro(Selector, vtkHardwareSelector);
852 
854 
862  vtkGetObjectMacro(BackgroundTexture, vtkTexture);
864 
866 
871  vtkGetObjectMacro(RightBackgroundTexture, vtkTexture);
873 
875 
879  vtkSetMacro(TexturedBackground, bool);
880  vtkGetMacro(TexturedBackground, bool);
881  vtkBooleanMacro(TexturedBackground, bool);
883 
884  // method to release graphics resources in any derived renderers.
886 
888 
891  vtkSetMacro(UseFXAA, bool);
892  vtkGetMacro(UseFXAA, bool);
893  vtkBooleanMacro(UseFXAA, bool);
895 
897 
900  vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
903 
905 
909  vtkSetMacro(UseShadows, vtkTypeBool);
910  vtkGetMacro(UseShadows, vtkTypeBool);
911  vtkBooleanMacro(UseShadows, vtkTypeBool);
913 
915 
919  vtkSetMacro(UseHiddenLineRemoval, vtkTypeBool);
920  vtkGetMacro(UseHiddenLineRemoval, vtkTypeBool);
921  vtkBooleanMacro(UseHiddenLineRemoval, vtkTypeBool);
923 
924  // Set/Get a custom render pass.
925  // Initial value is NULL.
927  vtkGetObjectMacro(Pass, vtkRenderPass);
928 
930 
933  vtkGetObjectMacro(Information, vtkInformation);
936 
938 
944  vtkSetMacro(UseImageBasedLighting, bool);
945  vtkGetMacro(UseImageBasedLighting, bool);
946  vtkBooleanMacro(UseImageBasedLighting, bool);
948 
950 
961  vtkGetObjectMacro(EnvironmentTexture, vtkTexture);
962  virtual void SetEnvironmentTexture(vtkTexture* texture, bool isSRGB = false);
964 
966 
969  vtkGetVector3Macro(EnvironmentUp, double);
970  vtkSetVector3Macro(EnvironmentUp, double);
972 
974 
977  vtkGetVector3Macro(EnvironmentRight, double);
978  vtkSetVector3Macro(EnvironmentRight, double);
980 
981 protected:
983  ~vtkRenderer() override;
984 
985  // internal method to expand bounding box to consider model transform
986  // matrix or model view transform matrix based on whether or not deering
987  // frustum is used. 'bounds' buffer is mutated to the expanded box.
988  virtual void ExpandBounds(double bounds[6], vtkMatrix4x4* matrix);
989 
992 
995 
998 
999  double Ambient[3];
1002  double TimeFactor;
1006  unsigned char* BackingImage;
1007  int BackingStoreSize[2];
1009 
1011 
1013 
1014  // Allocate the time for each prop
1016 
1017  // Internal variables indicating the number of props
1018  // that have been or will be rendered in each category.
1020 
1021  // A temporary list of props used for culling, and traversal
1022  // of all props when rendering
1025 
1026  // Indicates if the renderer should receive events from an interactor.
1027  // Typically only used in conjunction with transparent renderers.
1029 
1030  // Shows what layer this renderer belongs to. Only of interested when
1031  // there are layered renderers.
1032  int Layer;
1035 
1036  // Holds the result of ComputeVisiblePropBounds so that it is visible from
1037  // wrapped languages
1038  double ComputedVisiblePropBounds[6];
1039 
1048 
1054 
1062 
1069 
1074 
1079  const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1080 
1085  const std::array<double, 16>& GetProjectionTransformationMatrix();
1086 
1091  const std::array<double, 16>& GetViewTransformMatrix();
1092 
1098  virtual int UpdateGeometry(vtkFrameBufferObjectBase* fbo = nullptr);
1099 
1108 
1115 
1120  virtual int UpdateCamera(void);
1121 
1128 
1133  virtual int UpdateLights(void) { return 0; }
1134 
1141 
1146  bool UseFXAA;
1147 
1152 
1158 
1164 
1172 
1178 
1189 
1196 
1197  bool UseSSAO = false;
1198  double SSAORadius = 0.5;
1199  double SSAOBias = 0.01;
1200  unsigned int SSAOKernelSize = 32;
1201  bool SSAOBlur = false;
1202 
1209 
1210  // HARDWARE SELECTION ----------------------------------------
1211  friend class vtkHardwareSelector;
1212 
1217  {
1218  this->Selector = selector;
1219  this->Modified();
1220  }
1221 
1222  // End Ivars for visible cell selecting.
1224 
1225  //---------------------------------------------------------------
1226  friend class vtkRendererDelegate;
1228 
1232 
1233  friend class vtkRenderPass;
1235 
1236  // Arbitrary extra information associated with this renderer
1238 
1241 
1242  double EnvironmentUp[3];
1243  double EnvironmentRight[3];
1244 
1245 private:
1249  std::array<double, 16> CompositeProjectionTransformationMatrix;
1250 
1254  double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1255 
1259  vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1260 
1264  std::array<double, 16> ProjectionTransformationMatrix;
1265 
1269  double LastProjectionTransformationMatrixTiledAspectRatio;
1270 
1274  vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1275 
1279  std::array<double, 16> ViewTransformMatrix;
1280 
1284  vtkMTimeType LastViewTransformCameraModified;
1285 
1286  vtkRenderer(const vtkRenderer&) = delete;
1287  void operator=(const vtkRenderer&) = delete;
1288 };
1289 
1291 {
1292  return this->Lights;
1293 }
1294 
1299 {
1300  return this->Cullers;
1301 }
1302 
1303 #endif
a actor that draws 2D data
Definition: vtkActor2D.h:149
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition: vtkCamera.h:155
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:113
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition: vtkLight.h:166
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:145
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:67
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:173
void RemoveVolume(vtkProp *p)
virtual void SetLayer(int layer)
Set/Get the layer that this renderer belongs to.
void ViewToWorld(double &wx, double &wy, double &wz) override
These methods map from one coordinate system to another.
virtual void SetFXAAOptions(vtkFXAAOptions *)
const std::array< double, 16 > & GetViewTransformMatrix()
Gets the ActiveCamera ViewTransformMatrix, only computing it if necessary.
virtual void ClearLights(void)
Internal method temporarily removes lights before reloading them into graphics pipeline.
Definition: vtkRenderer.h:430
void AddCuller(vtkCuller *)
Add an culler to the list of cullers.
void SetPass(vtkRenderPass *p)
vtkTypeBool PreserveDepthBuffer
Definition: vtkRenderer.h:1034
vtkLight * CreatedLight
Definition: vtkRenderer.h:991
vtkRenderPass * Pass
Definition: vtkRenderer.h:1234
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off.
Definition: vtkRenderer.h:1157
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkRenderer * New()
Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on,...
double LastRenderTimeInSeconds
Definition: vtkRenderer.h:1010
double GetTiledAspectRatio()
Compute the aspect ratio of this renderer for the current tile.
vtkCamera * GetActiveCameraAndResetIfCreated()
Get the current camera and reset it only if it gets created automatically (see GetActiveCamera).
void AddLight(vtkLight *)
Add a light to the list of lights.
vtkCullerCollection * GetCullers()
Return the collection of cullers.
Definition: vtkRenderer.h:1298
virtual vtkLight * MakeLight()
Create a new Light 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:1133
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.
vtkWindow * GetVTKWindow() override
Return the vtkWindow that owns this vtkViewport.
vtkActorCollection * GetActors()
Return any actors in this renderer.
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:1239
int VisibleActorCount()
Returns the number of visible actors.
vtkTypeBool BackingStore
Definition: vtkRenderer.h:1005
vtkTexture * EnvironmentTexture
Definition: vtkRenderer.h:1240
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:1177
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:1216
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:1195
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling.
Definition: vtkRenderer.h:1208
void AllocateTime()
vtkRenderWindow * RenderWindow
Definition: vtkRenderer.h:1000
int VisibleVolumeCount()
Returns the number of visible volumes.
double * ComputeVisiblePropBounds()
Wrapper-friendly version of ComputeVisiblePropBounds.
vtkTypeBool AutomaticLightCreation
Definition: vtkRenderer.h:1004
int NumberOfPropsRendered
Definition: vtkRenderer.h:1019
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render.
Definition: vtkRenderer.h:710
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:1002
bool TexturedBackground
Definition: vtkRenderer.h:1229
vtkVolumeCollection * Volumes
Definition: vtkRenderer.h:997
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:1188
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:697
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:1061
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
Definition: vtkRenderer.h:1073
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene.
Definition: vtkRenderer.h:1146
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
Definition: vtkRenderer.h:1053
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:725
unsigned char * BackingImage
Definition: vtkRenderer.h:1006
vtkRendererDelegate * Delegate
Definition: vtkRenderer.h:1227
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:1230
virtual vtkCamera * MakeCamera()
Create a new Camera sutible for use with this type of Renderer.
double GetZ(int x, int y)
Given a pixel location, return the Z value.
vtkProp ** PropArray
Definition: vtkRenderer.h:1023
vtkCullerCollection * Cullers
Definition: vtkRenderer.h:994
vtkCamera * GetActiveCamera()
Get the current camera.
void AddActor(vtkProp *p)
Add/Remove different types of props to the renderer.
int PropArrayCount
Definition: vtkRenderer.h:1024
virtual double GetTimeFactor()
Get the ratio between allocated time and actual render time.
double AllocatedRenderTime
Definition: vtkRenderer.h:1001
const std::array< double, 16 > & GetProjectionTransformationMatrix()
Gets the ActiveCamera ProjectionTransformationMatrix, only computing it if necessary.
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
Definition: vtkRenderer.h:1047
vtkTypeBool Draw
When this flag is off, render commands are ignored.
Definition: vtkRenderer.h:1068
vtkHardwareSelector * Selector
Definition: vtkRenderer.h:1223
virtual void DeviceRender()
Create an image.
Definition: vtkRenderer.h:405
vtkTypeBool TwoSidedLighting
Definition: vtkRenderer.h:1003
vtkTexture * RightBackgroundTexture
Definition: vtkRenderer.h:1231
vtkTypeBool UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
Definition: vtkRenderer.h:1171
vtkTypeBool UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
Definition: vtkRenderer.h:1163
void WorldToPose(double &wx, double &wy, double &wz) override
Convert to from pose coordinates.
vtkLightCollection * Lights
Definition: vtkRenderer.h:993
void CreateLight(void)
Create and add a light to renderer.
vtkTexture * GetLeftBackgroundTexture()
void ViewToWorld() override
Convert view point coordinates to world coordinates.
vtkVolumeCollection * GetVolumes()
Return the collection of volumes.
void SetActiveCamera(vtkCamera *)
Specify the camera to use for this renderer.
virtual void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false)
vtkTimeStamp RenderTime
Definition: vtkRenderer.h:1008
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:1290
vtkTypeBool LightFollowCamera
Definition: vtkRenderer.h:1012
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
Definition: vtkRenderer.h:1151
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.
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.
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:435
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:1033
void SetGL2PSSpecialPropCollection(vtkPropCollection *)
Set the prop collection object used during vtkRenderWindow::CaptureGL2PSSpecialProps().
vtkActorCollection * Actors
Definition: vtkRenderer.h:996
void SetDelegate(vtkRendererDelegate *d)
Set/Get a custom Render call.
vtkTypeBool Interactive
Definition: vtkRenderer.h:1028
vtkInformation * Information
Definition: vtkRenderer.h:1237
vtkCamera * ActiveCamera
Definition: vtkRenderer.h:990
const std::array< double, 16 > & GetCompositeProjectionTransformationMatrix()
Gets the ActiveCamera CompositeProjectionTransformationMatrix, only computing it if necessary.
handles properties associated with a texture map
Definition: vtkTexture.h:175
record modification and/or execution time
Definition: vtkTimeStamp.h:52
abstract specification for Viewports
Definition: vtkViewport.h:47
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:134
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
int vtkTypeBool
Definition: vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
#define VTK_SIZEHINT(...)