35 #include "vtkRenderingCoreModule.h"
95 void RemoveAllLights();
113 void CreateLight(
void);
129 vtkGetMacro(TwoSidedLighting,
int);
149 vtkGetMacro(LightFollowCamera,
int);
162 vtkGetMacro(AutomaticLightCreation,
int);
172 virtual int UpdateLightsGeometryToFollowCamera(
void);
211 vtkGetMacro(Erase,
int);
222 vtkGetMacro(Draw,
int);
230 int CaptureGL2PSSpecialProp(
vtkProp *);
258 vtkSetVector3Macro(Ambient,
double);
259 vtkGetVectorMacro(Ambient,
double,3);
268 virtual double GetAllocatedRenderTime();
277 virtual double GetTimeFactor();
285 virtual void Render();
290 virtual void DeviceRender() =0;
298 virtual void DeviceRenderOpaqueGeometry();
309 virtual void DeviceRenderTranslucentPolygonalGeometry();
325 int VisibleActorCount();
330 int VisibleVolumeCount();
336 void ComputeVisiblePropBounds(
double bounds[6] );
341 double *ComputeVisiblePropBounds();
347 virtual void ResetCameraClippingRange();
356 virtual void ResetCameraClippingRange(
double bounds[6] );
357 virtual void ResetCameraClippingRange(
double xmin,
double xmax,
358 double ymin,
double ymax,
359 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(
double bounds[6]);
404 virtual void ResetCamera(
double xmin,
double xmax,
double ymin,
double ymax,
405 double zmin,
double zmax);
426 vtkGetMacro(BackingStore,
int);
437 vtkGetMacro(Interactive,
int);
453 virtual
void SetLayer(
int layer);
454 vtkGetMacro(Layer,
int);
468 vtkGetMacro(PreserveColorBuffer,
int);
479 vtkGetMacro(PreserveDepthBuffer,
int);
492 void WorldToView() VTK_OVERRIDE;
498 void ViewToWorld() VTK_OVERRIDE;
499 void ViewToWorld(
double &wx,
double &wy,
double &wz) VTK_OVERRIDE;
505 void WorldToView(
double &wx,
double &wy,
double &wz) VTK_OVERRIDE;
511 double GetZ (
int x,
int y);
522 vtkGetMacro( LastRenderTimeInSeconds,
double );
532 vtkGetMacro( NumberOfPropsRendered,
int );
545 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
548 double selectionX2,
double selectionY2) VTK_OVERRIDE;
564 double GetTiledAspectRatio();
572 {
return (this->ActiveCamera != NULL); }
587 vtkGetMacro(UseDepthPeeling,
int);
597 vtkGetMacro(UseDepthPeelingForVolumes,
bool)
610 vtkSetClampMacro(OcclusionRatio,
double,0.0,0.5);
611 vtkGetMacro(OcclusionRatio,
double);
621 vtkGetMacro(MaximumNumberOfPeels,
int);
630 vtkGetMacro(LastRenderingUsedDepthPeeling,
int);
658 virtual
void SetBackgroundTexture(
vtkTexture*);
659 vtkGetObjectMacro(BackgroundTexture, vtkTexture);
668 vtkGetMacro(TexturedBackground,
bool);
673 virtual
void ReleaseGraphicsResources(
vtkWindow *);
680 vtkGetMacro(UseFXAA,
bool)
698 vtkGetMacro(UseShadows,
int);
708 vtkGetMacro(UseHiddenLineRemoval,
int)
722 virtual
void SetInformation(vtkInformation*);
727 ~vtkRenderer() VTK_OVERRIDE;
731 virtual
void PickGeometry();
736 virtual
void ExpandBounds(
double bounds[6],
vtkMatrix4x4 *matrix);
749 double AllocatedRenderTime;
751 int TwoSidedLighting;
752 int AutomaticLightCreation;
754 unsigned char *BackingImage;
755 int BackingStoreSize[2];
758 double LastRenderTimeInSeconds;
760 int LightFollowCamera;
767 int NumberOfPropsRendered;
785 int PreserveColorBuffer;
786 int PreserveDepthBuffer;
790 double ComputedVisiblePropBounds[6];
799 double NearClippingPlaneTolerance;
805 double ClippingRangeExpansion;
832 virtual
int UpdateGeometry();
841 virtual
int UpdateTranslucentPolygonalGeometry();
848 virtual
int UpdateOpaquePolygonalGeometry();
854 virtual
int UpdateCamera(
void);
861 virtual
int UpdateLightGeometry(
void);
867 virtual
int UpdateLights(
void) {
return 0;}
874 vtkCamera *GetActiveCameraAndResetIfCreated();
945 { this->Selector = selector; this->
Modified(); }
965 void operator=(const
vtkRenderer&) VTK_DELETE_FUNCTION;
abstract superclass for all actors, volumes and annotations
vtkInformation * Information
represents a volume (data & properties) in a rendered scene
int UseHiddenLineRemoval
When this flag is on and the rendering engine supports it, wireframe polydata will be rendered using ...
represents an object (geometry & properties) in a rendered scene
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.
int UseDepthPeeling
If this flag is on and the GPU supports it, depth peeling is used for rendering translucent materials...
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
bool UseDepthPeelingForVolumes
This this flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry...
virtual void SetRenderWindow(vtkRenderWindow *renwin)
abstract specification for renderers
an ordered list of lights
vtkRendererDelegate * Delegate
window superclass for vtkRenderWindow
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.
void SetSelector(vtkHardwareSelector *selector)
Called by vtkHardwareSelector when it begins rendering for selection.
a list of nodes that form an assembly path
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
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...
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkWeakPointer< vtkRenderWindow > RenderWindow
an ordered list of actors
vtkHardwareSelector * Selector
an ordered list of Cullers
create a window for renderers to draw into
int UseShadows
If this flag is on and the rendering engine supports it render shadows Initial value is off...
int LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling...
Render the props of a vtkRenderer.
manager for OpenGL-based selection.
vtkTexture * BackgroundTexture
vtkRenderWindow * GetRenderWindow()
Specify the rendering window in which to draw.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.
virtual void Clear()
Clear the image to the background color.
Configuration for FXAA implementations.
int IsActiveCameraCreated()
This method returns 1 if the ActiveCamera has already been set or automatically created by the render...
int MaximumNumberOfPeels
In case of depth peeling, define the maximum number of peeling layers.