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 void WorldToPose(
double &wx,
double &wy,
double &wz)
override;
518 void PoseToWorld(
double &wx,
double &wy,
double &wz)
override;
519 void ViewToPose(
double &wx,
double &wy,
double &wz)
override;
520 void PoseToView(
double &wx,
double &wy,
double &wz)
override;
527 double GetZ (
int x,
int y);
538 vtkGetMacro( LastRenderTimeInSeconds,
double );
548 vtkGetMacro( NumberOfPropsRendered,
int );
561 return this->
PickProp(selectionX, selectionY, selectionX, selectionY);
564 double selectionX2,
double selectionY2)
override;
580 double GetTiledAspectRatio();
588 {
return (this->ActiveCamera !=
nullptr); }
612 vtkSetMacro(UseDepthPeelingForVolumes,
bool)
613 vtkGetMacro(UseDepthPeelingForVolumes,
bool)
614 vtkBooleanMacro(UseDepthPeelingForVolumes,
bool)
626 vtkSetClampMacro(OcclusionRatio,
double,0.0,0.5);
627 vtkGetMacro(OcclusionRatio,
double);
636 vtkSetMacro(MaximumNumberOfPeels,
int);
637 vtkGetMacro(MaximumNumberOfPeels,
int);
646 vtkGetMacro(LastRenderingUsedDepthPeeling,
int);
675 virtual void SetLeftBackgroundTexture(
vtkTexture*);
677 virtual void SetBackgroundTexture(
vtkTexture*);
678 vtkGetObjectMacro(BackgroundTexture,
vtkTexture);
686 virtual void SetRightBackgroundTexture(
vtkTexture*);
687 vtkGetObjectMacro(RightBackgroundTexture,
vtkTexture);
695 vtkSetMacro(TexturedBackground,
bool);
696 vtkGetMacro(TexturedBackground,
bool);
697 vtkBooleanMacro(TexturedBackground,
bool);
701 virtual void ReleaseGraphicsResources(
vtkWindow *);
707 vtkSetMacro(UseFXAA,
bool)
708 vtkGetMacro(UseFXAA,
bool)
709 vtkBooleanMacro(UseFXAA,
bool)
760 virtual void ExpandBounds(
double bounds[6],
vtkMatrix4x4 *matrix);
779 int BackingStoreSize[2];
810 double ComputedVisiblePropBounds[6];
852 virtual int UpdateGeometry();
861 virtual int UpdateTranslucentPolygonalGeometry();
868 virtual int UpdateOpaquePolygonalGeometry();
874 virtual int UpdateCamera(
void);
881 virtual int UpdateLightGeometry(
void);
894 vtkCamera *GetActiveCameraAndResetIfCreated();
965 { 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
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
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.
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.
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.
int LastRenderingUsedDepthPeeling
Tells if the last call to DeviceRenderTranslucentPolygonalGeometry() actually used depth peeling...
Render the props of a vtkRenderer.
vtkTexture * BackgroundTexture
vtkRenderWindow * GetRenderWindow()
Specify the rendering window in which to draw.
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.
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. ...