VTK  9.7.20260805
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
28
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 "vtkVector.h" // vtkVector3d
39#include "vtkVolumeCollection.h" // Needed for access in inline members
40
41#include <array> // To store matrices
42
43VTK_ABI_NAMESPACE_BEGIN
44class vtkFXAAOptions;
45class vtkRenderWindow;
46class vtkVolume;
47class vtkCuller;
48class vtkActor;
49class vtkActor2D;
50class vtkCamera;
52class vtkInformation;
55class vtkLight;
58class vtkRenderPass;
59class vtkTexture;
60
61class vtkRecti;
62
63class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkRenderer : public vtkViewport
64{
65public:
66 vtkTypeMacro(vtkRenderer, vtkViewport);
67 void PrintSelf(ostream& os, vtkIndent indent) override;
68
74 static vtkRenderer* New();
75
77
83 void AddActor(vtkProp* p);
91
97
103
109
114
122
127
133 virtual vtkLight* MakeLight();
134
136
144 vtkBooleanMacro(TwoSidedLighting, vtkTypeBool);
146
148
165
167
179
186
192
198
203
210
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
246
253
259
265
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
316
327
332 virtual void ClearLights() {}
333
337 virtual void Clear() {}
338
343
348
353 void ComputeVisiblePropBounds(double bounds[6]);
354
359
365
367
370 virtual void ResetCameraClippingRange(const double bounds[6]);
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
442
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
474
476
484 vtkBooleanMacro(BackingStore, vtkTypeBool);
486
488
495 vtkBooleanMacro(Interactive, vtkTypeBool);
497
499
510 virtual void SetLayer(int layer);
511 vtkGetMacro(Layer, int);
513
515
529
531
539
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
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
674
680 vtkTypeBool IsActiveCameraCreated() { return (this->ActiveCamera != nullptr); }
681
683
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
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
796 vtkGetObjectMacro(Delegate, vtkRendererDelegate);
798
800
805 vtkGetObjectMacro(Selector, vtkHardwareSelector);
807
809
817 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
819
821
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.
841
843
846 vtkSetMacro(UseFXAA, bool);
847 vtkGetMacro(UseFXAA, bool);
848 vtkBooleanMacro(UseFXAA, bool);
850
852
855 vtkGetObjectMacro(FXAAOptions, vtkFXAAOptions);
858
860
864 vtkSetMacro(UseShadows, vtkTypeBool);
865 vtkGetMacro(UseShadows, vtkTypeBool);
866 vtkBooleanMacro(UseShadows, vtkTypeBool);
868
870
878
879 // Set/Get a custom render pass.
880 // Initial value is NULL.
882 vtkGetObjectMacro(Pass, vtkRenderPass);
883
885
888 vtkGetObjectMacro(Information, 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)
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();
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);
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
993protected:
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];
1018 unsigned char* BackingImage;
1021
1023
1025
1026 // Allocate the time for each prop
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;
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.
1047
1048 // Holds the result of ComputeVisiblePropBounds so that it is visible from
1049 // wrapped languages
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
1120
1127
1132 virtual int UpdateCamera();
1133
1140
1145 virtual int UpdateLights() { return 0; }
1146
1153
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 ----------------------------------------
1237
1242 {
1243 this->Selector = selector;
1244 this->Modified();
1245 }
1246
1247 // End Ivars for visible cell selecting.
1249
1250 //---------------------------------------------------------------
1253
1257
1258 friend class vtkRenderPass;
1260
1261 // Arbitrary extra information associated with this renderer
1263
1266
1267private:
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
1355VTK_ABI_NAMESPACE_END
1356#endif
a actor that draws 2D data
Definition vtkActor2D.h:36
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:42
a list of nodes that form an assembly path
a virtual camera for 3D rendering
Definition vtkCamera.h:42
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:29
Store vtkAlgorithm input/output information.
an ordered list of lights
a virtual light for 3D rendering
Definition vtkLight.h:50
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:49
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
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...
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:59
record modification and/or execution time
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:41
window superclass for vtkRenderWindow
Definition vtkWindow.h:43
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)