35 #include "vtkRenderingCoreModule.h" 95 void RemoveAllLights();
113 void CreateLight(
void);
164 vtkBooleanMacro(AutomaticLightCreation,
vtkTypeBool);
172 virtual int UpdateLightsGeometryToFollowCamera(
void);
230 int CaptureGL2PSSpecialProp(
vtkProp *);
258 vtkSetVector3Macro(Ambient,
double);
259 vtkGetVectorMacro(Ambient,
double,3);
267 vtkSetMacro(AllocatedRenderTime,
double);
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] );
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);
453 virtual void SetLayer(
int layer);
454 vtkGetMacro(Layer,
int);
499 void ViewToWorld(
double &wx,
double &wy,
double &wz)
override;
505 void WorldToView(
double &wx,
double &wy,
double &wz)
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)
override;
564 double GetTiledAspectRatio();
572 {
return (this->ActiveCamera !=
nullptr); }
596 vtkSetMacro(UseDepthPeelingForVolumes,
bool)
597 vtkGetMacro(UseDepthPeelingForVolumes,
bool)
598 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool)
610 vtkSetClampMacro(OcclusionRatio,
double,0.0,0.5);
611 vtkGetMacro(OcclusionRatio,
double);
620 vtkSetMacro(MaximumNumberOfPeels,
int);
621 vtkGetMacro(MaximumNumberOfPeels,
int);
630 vtkGetMacro(LastRenderingUsedDepthPeeling,
int);
658 virtual void SetBackgroundTexture(
vtkTexture*);
659 vtkGetObjectMacro(BackgroundTexture,
vtkTexture);
667 vtkSetMacro(TexturedBackground,
bool);
668 vtkGetMacro(TexturedBackground,
bool);
669 vtkBooleanMacro(TexturedBackground,
bool);
673 virtual void ReleaseGraphicsResources(
vtkWindow *);
679 vtkSetMacro(UseFXAA,
bool)
680 vtkGetMacro(UseFXAA,
bool)
681 vtkBooleanMacro(UseFXAA,
bool)
731 virtual void PickGeometry();
736 virtual void ExpandBounds(
double bounds[6],
vtkMatrix4x4 *matrix);
755 int BackingStoreSize[2];
790 double ComputedVisiblePropBounds[6];
832 virtual int UpdateGeometry();
841 virtual int UpdateTranslucentPolygonalGeometry();
848 virtual int UpdateOpaquePolygonalGeometry();
854 virtual int UpdateCamera(
void);
861 virtual int UpdateLightGeometry(
void);
874 vtkCamera *GetActiveCameraAndResetIfCreated();
945 { 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.