44 #include "vtkRenderingCoreModule.h"
110 void RemoveAllLights();
128 void CreateLight(
void);
179 vtkBooleanMacro(AutomaticLightCreation,
vtkTypeBool);
187 virtual vtkTypeBool UpdateLightsGeometryToFollowCamera(
void);
245 int CaptureGL2PSSpecialProp(
vtkProp*);
273 vtkSetVector3Macro(Ambient,
double);
274 vtkGetVectorMacro(Ambient,
double, 3);
282 vtkSetMacro(AllocatedRenderTime,
double);
283 virtual double GetAllocatedRenderTime();
292 virtual double GetTimeFactor();
300 virtual void Render();
340 int VisibleActorCount();
345 int VisibleVolumeCount();
351 void ComputeVisiblePropBounds(
double bounds[6]);
362 virtual
void ResetCameraClippingRange();
368 virtual
void ResetCameraClippingRange(const
double bounds[6]);
369 virtual
void ResetCameraClippingRange(
370 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
379 vtkSetClampMacro(NearClippingPlaneTolerance,
double, 0, 0.99);
380 vtkGetMacro(NearClippingPlaneTolerance,
double);
389 vtkSetClampMacro(ClippingRangeExpansion,
double, 0, 0.99);
390 vtkGetMacro(ClippingRangeExpansion,
double);
399 virtual
void ResetCamera();
410 virtual
void ResetCamera(const
double bounds[6]);
415 virtual
void ResetCamera(
416 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
422 virtual
void ResetCameraScreenSpace();
429 virtual
void ResetCameraScreenSpace(const
double bounds[6]);
443 void ZoomToBoxUsingViewAngle(const
vtkRecti& box, const
double offsetRatio = 1.0);
448 virtual
void ResetCameraScreenSpace(
449 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
458 vtkRenderWindow* GetRenderWindow() {
return this->RenderWindow; }
497 virtual void SetLayer(
int layer);
498 vtkGetMacro(Layer,
int);
543 void ViewToWorld(
double& wx,
double& wy,
double& wz)
override;
549 void WorldToView(
double& wx,
double& wy,
double& wz)
override;
555 void WorldToPose(
double& wx,
double& wy,
double& wz)
override;
556 void PoseToWorld(
double& wx,
double& wy,
double& wz)
override;
557 void ViewToPose(
double& wx,
double& wy,
double& wz)
override;
558 void PoseToView(
double& wx,
double& wy,
double& wz)
override;
565 double GetZ(
int x,
int y);
576 vtkGetMacro(LastRenderTimeInSeconds,
double);
586 vtkGetMacro(NumberOfPropsRendered,
int);
599 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
602 double selectionX1,
double selectionY1,
double selectionX2,
double selectionY2)
override;
619 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
638 double GetTiledAspectRatio();
668 vtkSetMacro(UseDepthPeelingForVolumes,
bool);
669 vtkGetMacro(UseDepthPeelingForVolumes,
bool);
670 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool);
682 vtkSetClampMacro(OcclusionRatio,
double, 0.0, 0.5);
683 vtkGetMacro(OcclusionRatio,
double);
692 vtkSetMacro(MaximumNumberOfPeels,
int);
693 vtkGetMacro(MaximumNumberOfPeels,
int);
702 vtkGetMacro(LastRenderingUsedDepthPeeling,
vtkTypeBool);
710 vtkSetMacro(UseSSAO,
bool);
711 vtkGetMacro(UseSSAO,
bool);
712 vtkBooleanMacro(UseSSAO,
bool);
720 vtkSetMacro(SSAORadius,
double);
721 vtkGetMacro(SSAORadius,
double);
729 vtkSetMacro(SSAOBias,
double);
730 vtkGetMacro(SSAOBias,
double);
738 vtkSetMacro(SSAOKernelSize,
unsigned int);
739 vtkGetMacro(SSAOKernelSize,
unsigned int);
748 vtkSetMacro(SSAOBlur,
bool);
749 vtkGetMacro(SSAOBlur,
bool);
750 vtkBooleanMacro(SSAOBlur,
bool);
779 virtual void SetLeftBackgroundTexture(
vtkTexture*);
781 virtual void SetBackgroundTexture(
vtkTexture*);
782 vtkGetObjectMacro(BackgroundTexture,
vtkTexture);
790 virtual void SetRightBackgroundTexture(
vtkTexture*);
791 vtkGetObjectMacro(RightBackgroundTexture,
vtkTexture);
799 vtkSetMacro(TexturedBackground,
bool);
800 vtkGetMacro(TexturedBackground,
bool);
801 vtkBooleanMacro(TexturedBackground,
bool);
805 virtual void ReleaseGraphicsResources(
vtkWindow*);
811 vtkSetMacro(UseFXAA,
bool);
812 vtkGetMacro(UseFXAA,
bool);
813 vtkBooleanMacro(UseFXAA,
bool);
841 vtkBooleanMacro(UseHiddenLineRemoval,
vtkTypeBool);
864 vtkSetMacro(UseImageBasedLighting,
bool);
865 vtkGetMacro(UseImageBasedLighting,
bool);
866 vtkBooleanMacro(UseImageBasedLighting,
bool);
881 vtkGetObjectMacro(EnvironmentTexture,
vtkTexture);
882 virtual void SetEnvironmentTexture(
vtkTexture* texture,
bool isSRGB =
false);
889 vtkGetVector3Macro(EnvironmentUp,
double);
890 vtkSetVector3Macro(EnvironmentUp,
double);
897 vtkGetVector3Macro(EnvironmentRight,
double);
898 vtkSetVector3Macro(EnvironmentRight,
double);
908 virtual void ExpandBounds(
double bounds[6],
vtkMatrix4x4* matrix);
927 int BackingStoreSize[2];
958 double ComputedVisiblePropBounds[6];
999 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1005 const std::array<double, 16>& GetProjectionTransformationMatrix();
1011 const std::array<double, 16>& GetViewTransformMatrix();
1027 virtual int UpdateTranslucentPolygonalGeometry();
1034 virtual int UpdateOpaquePolygonalGeometry();
1040 virtual int UpdateCamera(
void);
1060 vtkCamera* GetActiveCameraAndResetIfCreated();
1117 bool UseSSAO =
false;
1118 double SSAORadius = 0.5;
1119 double SSAOBias = 0.01;
1120 unsigned int SSAOKernelSize = 32;
1121 bool SSAOBlur =
false;
1138 this->Selector = selector;
1162 double EnvironmentUp[3];
1163 double EnvironmentRight[3];
1169 std::array<double, 16> CompositeProjectionTransformationMatrix;
1174 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1179 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1184 std::array<double, 16> ProjectionTransformationMatrix;
1189 double LastProjectionTransformationMatrixTiledAspectRatio;
1194 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1199 std::array<double, 16> ViewTransformMatrix;
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...
abstract superclass for all actors, volumes and annotations
vtkInformation * Information
double ClippingRangeExpansion
Specify enlargement of bounds when resetting the camera clipping range.
vtkTypeBool UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off...
represents a volume (data & properties) in a rendered scene
virtual void WorldToPose(double &, double &, double &)
These methods map from one coordinate system to another.
represents an object (geometry & properties) in a rendered scene
vtkAssemblyPath * PickProp(double selectionX, double selectionY) override
Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x...
represent and manipulate 4x4 transformation matrices
vtkTypeUInt32 vtkMTimeType
abstract specification for Viewports
virtual void ClearLights(void)
Internal method temporarily removes lights before reloading them into graphics pipeline.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkRenderWindow * RenderWindow
double OcclusionRatio
In case of use of depth peeling technique for rendering translucent material, define the threshold un...
virtual int UpdateLights(void)
Ask all lights to load themselves into rendering pipeline.
a actor that draws 2D data
record modification and/or execution time
vtkTexture * EnvironmentTexture
bool UseDepthPeelingForVolumes
This flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry...
vtkTypeBool PreserveDepthBuffer
vtkTypeBool IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
abstract specification for renderers
double AllocatedRenderTime
an ordered list of lights
vtkRendererDelegate * Delegate
vtkTypeBool LightFollowCamera
vtkTypeBool TwoSidedLighting
double LastRenderTimeInSeconds
window superclass for vtkRenderWindow
vtkVolumeCollection * Volumes
vtkTypeBool Draw
When this flag is off, render commands are ignored.
vtkCullerCollection * Cullers
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.
a list of nodes that form an assembly path
vtkTypeBool PreserveColorBuffer
unsigned char * BackingImage
a superclass for prop cullers
a simple class to control print indentation
virtual void StereoMidpoint()
Do anything necessary between rendering the left and right viewpoints in a stereo render...
a virtual camera for 3D rendering
vtkTypeBool AutomaticLightCreation
a virtual light for 3D rendering
bool UseFXAA
If this flag is on and the rendering engine supports it, FXAA will be used to antialias the scene...
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...
vtkLightCollection * GetLights()
Return the collection of lights.
virtual void PoseToWorld(double &, double &, double &)
These methods map from one coordinate system to another.
vtkPropCollection * GL2PSSpecialPropCollection
Temporary collection used by vtkRenderWindow::CaptureGL2PSSpecialProps.
an ordered list of volumes
vtkFXAAOptions * FXAAOptions
Holds the FXAA configuration.
handles properties associated with a texture map
virtual void Modified()
Update the modification time for this object.
vtkLightCollection * Lights
virtual void ViewToPose(double &, double &, double &)
These methods map from one coordinate system to another.
#define VTK_SIZEHINT(...)
vtkActorCollection * Actors
an ordered list of actors
vtkHardwareSelector * Selector
virtual void PoseToView(double &, double &, double &)
These methods map from one coordinate system to another.
double NearClippingPlaneTolerance
Specifies the minimum distance of the near clipping plane as a percentage of the far clipping plane d...
an ordered list of Cullers
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 ...
virtual void ViewToWorld()
Convert view point coordinates to world coordinates.
virtual void DeviceRender()
Create an image.
Render the props of a vtkRenderer.
bool UseImageBasedLighting
vtkTexture * BackgroundTexture
vtkTypeBool LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling...
vtkCullerCollection * GetCullers()
Return the collection of cullers.
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.
virtual vtkWindow * GetVTKWindow()=0
Return the vtkWindow that owns this vtkViewport.
int NumberOfPropsRendered
virtual void WorldToView()
Convert world point coordinates to view coordinates.
virtual void Clear()
Clear the image to the background color.
vtkTexture * RightBackgroundTexture
Configuration for FXAA implementations.
int MaximumNumberOfPeels
In case of depth peeling, define the maximum number of peeling layers.
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer. ...