141#include "vtkRenderingCoreModule.h"
151VTK_ABI_NAMESPACE_BEGIN
217 void RemoveAllLights();
384 vtkSetVector3Macro(Ambient,
double);
385 vtkGetVectorMacro(Ambient,
double, 3);
393 vtkSetMacro(AllocatedRenderTime,
double);
394 virtual
double GetAllocatedRenderTime();
403 virtual
double GetTimeFactor();
411 virtual
void Render();
416 virtual
void DeviceRender() {}
473 virtual
void ResetCameraClippingRange();
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);
490 vtkSetClampMacro(NearClippingPlaneTolerance,
double, 0, 0.99);
491 vtkGetMacro(NearClippingPlaneTolerance,
double);
500 vtkSetClampMacro(ClippingRangeExpansion,
double, 0, 0.99);
501 vtkGetMacro(ClippingRangeExpansion,
double);
510 virtual
void ResetCamera();
521 virtual
void ResetCamera(const
double bounds[6]);
526 virtual
void ResetCamera(
527 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
536 virtual
void ResetCameraScreenSpace(
double offsetRatio = 0.9);
546 virtual
void ResetCameraScreenSpace(const
double bounds[6],
double offsetRatio = 0.9);
560 void ZoomToBoxUsingViewAngle(const
vtkRecti& box,
double offsetRatio = 1.0);
568 virtual
void ResetCameraScreenSpace(
double xmin,
double xmax,
double ymin,
double ymax,
569 double zmin,
double zmax,
double offsetRatio = 0.9);
618 vtkGetMacro(Layer,
int);
677 void ViewToPose(
double& wx,
double& wy,
double& wz)
override;
678 void PoseToView(
double& wx,
double& wy,
double& wz)
override;
700 vtkSetMacro(SafeGetZ,
bool);
701 vtkGetMacro(SafeGetZ,
bool);
702 vtkBooleanMacro(SafeGetZ,
bool);
714 vtkGetMacro(LastRenderTimeInSeconds,
double);
724 vtkGetMacro(NumberOfPropsRendered,
int);
737 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
740 double selectionX1,
double selectionY1,
double selectionX2,
double selectionY2)
override;
758 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
807 vtkSetMacro(UseDepthPeelingForVolumes,
bool);
808 vtkGetMacro(UseDepthPeelingForVolumes,
bool);
809 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool);
821 vtkSetClampMacro(OcclusionRatio,
double, 0.0, 0.5);
822 vtkGetMacro(OcclusionRatio,
double);
831 vtkSetMacro(MaximumNumberOfPeels,
int);
832 vtkGetMacro(MaximumNumberOfPeels,
int);
849 vtkSetMacro(UseSSAO,
bool);
850 vtkGetMacro(UseSSAO,
bool);
851 vtkBooleanMacro(UseSSAO,
bool);
859 vtkSetMacro(SSAORadius,
double);
860 vtkGetMacro(SSAORadius,
double);
868 vtkSetMacro(SSAOBias,
double);
869 vtkGetMacro(SSAOBias,
double);
877 vtkSetMacro(SSAOKernelSize,
unsigned int);
878 vtkGetMacro(SSAOKernelSize,
unsigned int);
887 vtkSetMacro(SSAOBlur,
bool);
888 vtkGetMacro(SSAOBlur,
bool);
889 vtkBooleanMacro(SSAOBlur,
bool);
938 vtkSetMacro(TexturedBackground,
bool);
939 vtkGetMacro(TexturedBackground,
bool);
940 vtkBooleanMacro(TexturedBackground,
bool);
950 vtkSetMacro(UseFXAA,
bool);
951 vtkGetMacro(UseFXAA,
bool);
952 vtkBooleanMacro(UseFXAA,
bool);
1003 vtkSetMacro(UseImageBasedLighting,
bool);
1004 vtkGetMacro(UseImageBasedLighting,
bool);
1005 vtkBooleanMacro(UseImageBasedLighting,
bool);
1017 void SetEnvironmentTextureProperty(
vtkTexture* texture) { this->SetEnvironmentTexture(texture); }
1046 double& vectorRightX,
double& vectorRightY,
double& vectorRightZ);
1061 this->EnvironmentRotationMatrix->SetData(matrix->
GetData());
1077 vtkSetMacro(UseOIT,
bool);
1078 vtkGetMacro(UseOIT,
bool);
1079 vtkBooleanMacro(UseOIT,
bool);
1108 int BackingStoreSize[2];
1139 double ComputedVisiblePropBounds[6];
1298 bool UseSSAO =
false;
1299 double SSAORadius = 0.5;
1300 double SSAOBias = 0.01;
1301 unsigned int SSAOKernelSize = 32;
1302 bool SSAOBlur =
false;
1332 this->Selector = selector;
1360 std::array<double, 16> CompositeProjectionTransformationMatrix;
1365 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1370 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1375 std::array<double, 16> ProjectionTransformationMatrix;
1380 double LastProjectionTransformationMatrixTiledAspectRatio;
1385 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1390 std::array<double, 16> ViewTransformMatrix;
1400 bool SafeGetZ =
false;
1411 double EnvironmentUp[3] = { 0.0, 0.0, 0.0 };
1412 double EnvironmentRight[3] = { 0.0, 0.0, 0.0 };
1431VTK_ABI_NAMESPACE_END
a actor that draws 2D data
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
a list of nodes that form an assembly path
a virtual camera for 3D rendering
an ordered list of Cullers
a superclass for prop cullers
Configuration for FXAA implementations.
abstract interface to OpenGL FBOs
a simple class to control print indentation
an ordered list of lights
a virtual light for 3D rendering
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.
virtual void Modified()
Update the modification time for this object.
abstract superclass for all actors, volumes and annotations
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
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.
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.
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.
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.
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.
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.
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.
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,...
Hold a reference to a vtkObjectBase instance.
handles properties associated with a texture map
record modification and/or execution time
abstract specification for Viewports
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
window superclass for vtkRenderWindow
vtkTypeUInt32 vtkMTimeType
#define VTK_MARSHALSETTER(property)
#define VTK_SIZEHINT(...)
#define VTK_MARSHALGETTER(property)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)