41 #include "vtkRenderingCoreModule.h" 101 void RemoveAllLights();
119 void CreateLight(
void);
170 vtkBooleanMacro(AutomaticLightCreation,
vtkTypeBool);
178 virtual int UpdateLightsGeometryToFollowCamera(
void);
236 int CaptureGL2PSSpecialProp(
vtkProp *);
264 vtkSetVector3Macro(Ambient,
double);
265 vtkGetVectorMacro(Ambient,
double,3);
273 vtkSetMacro(AllocatedRenderTime,
double);
274 virtual double GetAllocatedRenderTime();
283 virtual double GetTimeFactor();
291 virtual void Render();
296 virtual void DeviceRender() =0;
304 virtual void DeviceRenderOpaqueGeometry();
315 virtual void DeviceRenderTranslucentPolygonalGeometry();
331 int VisibleActorCount();
336 int VisibleVolumeCount();
342 void ComputeVisiblePropBounds(
double bounds[6] );
353 virtual
void ResetCameraClippingRange();
362 virtual
void ResetCameraClippingRange(
double bounds[6] );
363 virtual
void ResetCameraClippingRange(
double xmin,
double xmax,
364 double ymin,
double ymax,
365 double zmin,
double zmax);
374 vtkSetClampMacro(NearClippingPlaneTolerance,
double,0,0.99);
375 vtkGetMacro(NearClippingPlaneTolerance,
double);
384 vtkSetClampMacro(ClippingRangeExpansion,
double,0,0.99);
385 vtkGetMacro(ClippingRangeExpansion,
double);
394 virtual
void ResetCamera();
405 virtual
void ResetCamera(
double bounds[6]);
410 virtual
void ResetCamera(
double xmin,
double xmax,
double ymin,
double ymax,
411 double zmin,
double zmax);
459 virtual void SetLayer(
int layer);
460 vtkGetMacro(Layer,
int);
505 void ViewToWorld(
double &wx,
double &wy,
double &wz)
override;
511 void WorldToView(
double &wx,
double &wy,
double &wz)
override;
517 double GetZ (
int x,
int y);
528 vtkGetMacro( LastRenderTimeInSeconds,
double );
538 vtkGetMacro( NumberOfPropsRendered,
int );
551 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
554 double selectionX2,
double selectionY2)
override;
570 double GetTiledAspectRatio();
578 {
return (this->ActiveCamera !=
nullptr); }
602 vtkSetMacro(UseDepthPeelingForVolumes,
bool)
603 vtkGetMacro(UseDepthPeelingForVolumes,
bool)
604 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool)
616 vtkSetClampMacro(OcclusionRatio,
double,0.0,0.5);
617 vtkGetMacro(OcclusionRatio,
double);
626 vtkSetMacro(MaximumNumberOfPeels,
int);
627 vtkGetMacro(MaximumNumberOfPeels,
int);
636 vtkGetMacro(LastRenderingUsedDepthPeeling,
int);
664 virtual void SetBackgroundTexture(
vtkTexture*);
665 vtkGetObjectMacro(BackgroundTexture,
vtkTexture);
673 vtkSetMacro(TexturedBackground,
bool);
674 vtkGetMacro(TexturedBackground,
bool);
675 vtkBooleanMacro(TexturedBackground,
bool);
679 virtual void ReleaseGraphicsResources(
vtkWindow *);
685 vtkSetMacro(UseFXAA,
bool)
686 vtkGetMacro(UseFXAA,
bool)
687 vtkBooleanMacro(UseFXAA,
bool)
737 virtual void PickGeometry();
742 virtual void ExpandBounds(
double bounds[6],
vtkMatrix4x4 *matrix);
761 int BackingStoreSize[2];
796 double ComputedVisiblePropBounds[6];
838 virtual int UpdateGeometry();
847 virtual int UpdateTranslucentPolygonalGeometry();
854 virtual int UpdateOpaquePolygonalGeometry();
860 virtual int UpdateCamera(
void);
867 virtual int UpdateLightGeometry(
void);
880 vtkCamera *GetActiveCameraAndResetIfCreated();
951 { this->Selector = selector; this->
Modified(); }
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
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
bool UseDepthPeelingForVolumes
This this flag is on and the GPU supports it, depth-peel volumes along with the translucent geometry...
vtkTypeBool PreserveDepthBuffer
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.
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
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.
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
#define VTK_SIZEHINT(...)
vtkActorCollection * Actors
an ordered list of actors
vtkHardwareSelector * Selector
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.
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
int AutomaticLightCreation
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.
vtkAssemblyPath ** PathArray
int NumberOfPropsRendered
virtual void WorldToView()
Convert world point coordinates to view coordinates.
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.
vtkTypeBool Erase
When this flag is off, the renderer will not erase the background or the Zbuffer. ...