32 #include "vtkRenderingCoreModule.h"
40 VTK_ABI_NAMESPACE_BEGIN
99 void RemoveAllLights();
168 vtkBooleanMacro(AutomaticLightCreation,
vtkTypeBool);
176 virtual vtkTypeBool UpdateLightsGeometryToFollowCamera();
234 int CaptureGL2PSSpecialProp(
vtkProp*);
262 vtkSetVector3Macro(Ambient,
double);
263 vtkGetVectorMacro(Ambient,
double, 3);
271 vtkSetMacro(AllocatedRenderTime,
double);
272 virtual double GetAllocatedRenderTime();
281 virtual double GetTimeFactor();
289 virtual void Render();
329 int VisibleActorCount();
334 int VisibleVolumeCount();
340 void ComputeVisiblePropBounds(
double bounds[6]);
351 virtual
void ResetCameraClippingRange();
357 virtual
void ResetCameraClippingRange(const
double bounds[6]);
358 virtual
void ResetCameraClippingRange(
359 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
368 vtkSetClampMacro(NearClippingPlaneTolerance,
double, 0, 0.99);
369 vtkGetMacro(NearClippingPlaneTolerance,
double);
378 vtkSetClampMacro(ClippingRangeExpansion,
double, 0, 0.99);
379 vtkGetMacro(ClippingRangeExpansion,
double);
388 virtual
void ResetCamera();
399 virtual
void ResetCamera(const
double bounds[6]);
404 virtual
void ResetCamera(
405 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax);
414 virtual
void ResetCameraScreenSpace(
double offsetRatio = 0.9);
424 virtual
void ResetCameraScreenSpace(const
double bounds[6],
double offsetRatio = 0.9);
438 void ZoomToBoxUsingViewAngle(const
vtkRecti& box,
double offsetRatio = 1.0);
446 virtual
void ResetCameraScreenSpace(
double xmin,
double xmax,
double ymin,
double ymax,
447 double zmin,
double zmax,
double offsetRatio = 0.9);
456 vtkRenderWindow* GetRenderWindow() {
return this->RenderWindow; }
495 virtual void SetLayer(
int layer);
496 vtkGetMacro(Layer,
int);
541 void ViewToWorld(
double& wx,
double& wy,
double& wz)
override;
547 void WorldToView(
double& wx,
double& wy,
double& wz)
override;
553 void WorldToPose(
double& wx,
double& wy,
double& wz)
override;
554 void PoseToWorld(
double& wx,
double& wy,
double& wz)
override;
555 void ViewToPose(
double& wx,
double& wy,
double& wz)
override;
556 void PoseToView(
double& wx,
double& wy,
double& wz)
override;
563 double GetZ(
int x,
int y);
574 vtkGetMacro(LastRenderTimeInSeconds,
double);
584 vtkGetMacro(NumberOfPropsRendered,
int);
597 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
600 double selectionX1,
double selectionY1,
double selectionX2,
double selectionY2)
override;
617 selectionX, selectionY, selectionX, selectionY, fieldAssociation, selection);
636 double GetTiledAspectRatio();
666 vtkSetMacro(UseDepthPeelingForVolumes,
bool);
667 vtkGetMacro(UseDepthPeelingForVolumes,
bool);
668 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool);
680 vtkSetClampMacro(OcclusionRatio,
double, 0.0, 0.5);
681 vtkGetMacro(OcclusionRatio,
double);
690 vtkSetMacro(MaximumNumberOfPeels,
int);
691 vtkGetMacro(MaximumNumberOfPeels,
int);
700 vtkGetMacro(LastRenderingUsedDepthPeeling,
vtkTypeBool);
708 vtkSetMacro(UseSSAO,
bool);
709 vtkGetMacro(UseSSAO,
bool);
710 vtkBooleanMacro(UseSSAO,
bool);
718 vtkSetMacro(SSAORadius,
double);
719 vtkGetMacro(SSAORadius,
double);
727 vtkSetMacro(SSAOBias,
double);
728 vtkGetMacro(SSAOBias,
double);
736 vtkSetMacro(SSAOKernelSize,
unsigned int);
737 vtkGetMacro(SSAOKernelSize,
unsigned int);
746 vtkSetMacro(SSAOBlur,
bool);
747 vtkGetMacro(SSAOBlur,
bool);
748 vtkBooleanMacro(SSAOBlur,
bool);
777 virtual void SetLeftBackgroundTexture(
vtkTexture*);
779 virtual void SetBackgroundTexture(
vtkTexture*);
780 vtkGetObjectMacro(BackgroundTexture,
vtkTexture);
788 virtual void SetRightBackgroundTexture(
vtkTexture*);
789 vtkGetObjectMacro(RightBackgroundTexture,
vtkTexture);
797 vtkSetMacro(TexturedBackground,
bool);
798 vtkGetMacro(TexturedBackground,
bool);
799 vtkBooleanMacro(TexturedBackground,
bool);
803 virtual void ReleaseGraphicsResources(
vtkWindow*);
809 vtkSetMacro(UseFXAA,
bool);
810 vtkGetMacro(UseFXAA,
bool);
811 vtkBooleanMacro(UseFXAA,
bool);
839 vtkBooleanMacro(UseHiddenLineRemoval,
vtkTypeBool);
862 vtkSetMacro(UseImageBasedLighting,
bool);
863 vtkGetMacro(UseImageBasedLighting,
bool);
864 vtkBooleanMacro(UseImageBasedLighting,
bool);
879 vtkGetObjectMacro(EnvironmentTexture,
vtkTexture);
880 virtual void SetEnvironmentTexture(
vtkTexture* texture,
bool isSRGB =
false);
887 vtkGetVector3Macro(EnvironmentUp,
double);
888 vtkSetVector3Macro(EnvironmentUp,
double);
895 vtkGetVector3Macro(EnvironmentRight,
double);
896 vtkSetVector3Macro(EnvironmentRight,
double);
906 virtual void ExpandBounds(
double bounds[6],
vtkMatrix4x4* matrix);
925 int BackingStoreSize[2];
956 double ComputedVisiblePropBounds[6];
997 const std::array<double, 16>& GetCompositeProjectionTransformationMatrix();
1003 const std::array<double, 16>& GetProjectionTransformationMatrix();
1009 const std::array<double, 16>& GetViewTransformMatrix();
1025 virtual int UpdateTranslucentPolygonalGeometry();
1032 virtual int UpdateOpaquePolygonalGeometry();
1038 virtual int UpdateCamera();
1058 vtkCamera* GetActiveCameraAndResetIfCreated();
1115 bool UseSSAO =
false;
1116 double SSAORadius = 0.5;
1117 double SSAOBias = 0.01;
1118 unsigned int SSAOKernelSize = 32;
1119 bool SSAOBlur =
false;
1136 this->Selector = selector;
1160 double EnvironmentUp[3];
1161 double EnvironmentRight[3];
1167 std::array<double, 16> CompositeProjectionTransformationMatrix;
1172 double LastCompositeProjectionTransformationMatrixTiledAspectRatio;
1177 vtkMTimeType LastCompositeProjectionTransformationMatrixCameraModified;
1182 std::array<double, 16> ProjectionTransformationMatrix;
1187 double LastProjectionTransformationMatrixTiledAspectRatio;
1192 vtkMTimeType LastProjectionTransformationMatrixCameraModified;
1197 std::array<double, 16> ViewTransformMatrix;
1221 VTK_ABI_NAMESPACE_END
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
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...
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
virtual int UpdateLights()
Ask all lights to load themselves into rendering pipeline.
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
virtual void ClearLights()
Internal method temporarily removes lights before reloading them into graphics pipeline.
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. ...