CustusX  16.5.0-rc9
An IGT application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cxDepthPeeling.h File Reference
#include "cxResourceVisualizationExport.h"
#include <vtkSphereSource.h>
#include <vtkSmartPointer.h>
#include <vtkAppendPolyData.h>
#include <vtkCamera.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkProperty.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkTimerLog.h>
#include <vtkTransform.h>
#include <vtkDepthSortPolyData.h>

Go to the source code of this file.

Functions

cxResourceVisualization_EXPORT
vtkSmartPointer
< vtkAppendPolyData > 
GenerateOverlappingBunchOfSpheres (int theta, int phi)
 
cxResourceVisualization_EXPORT bool SetupEnvironmentForDepthPeeling (vtkSmartPointer< vtkRenderWindow > renderWindow, vtkSmartPointer< vtkRenderer > renderer, int maxNoOfPeels, double occlusionRatio)
 
cxResourceVisualization_EXPORT bool TurnOffDepthPeeling (vtkSmartPointer< vtkRenderWindow > renderWindow, vtkSmartPointer< vtkRenderer > renderer)
 Turn off depth peeling. More...
 
cxResourceVisualization_EXPORT bool IsDepthPeelingSupported (vtkSmartPointer< vtkRenderWindow > renderWindow, vtkSmartPointer< vtkRenderer > renderer, bool doItOffScreen)
 

Function Documentation

cxResourceVisualization_EXPORT vtkSmartPointer<vtkAppendPolyData> GenerateOverlappingBunchOfSpheres ( int  theta,
int  phi 
)

Generate a bunch of overlapping spheres within one poly data set: one big sphere evenly surrounded by four small spheres that intersect the centered sphere.

Parameters
thetasphere sampling resolution (THETA)
phisphere sampling resolution (PHI)
Returns
the set of spheres within one logical poly data set

Definition at line 32 of file CorrectlyRenderTranslucentGeometry.cxx.

cxResourceVisualization_EXPORT bool IsDepthPeelingSupported ( vtkSmartPointer< vtkRenderWindow >  renderWindow,
vtkSmartPointer< vtkRenderer >  renderer,
bool  doItOffScreen 
)

Find out whether this box supports depth peeling. Depth peeling requires a variety of openGL extensions and appropriate drivers.

Parameters
renderWindowa valid openGL-supporting render window
renderera valid renderer instance
doItOffScreendo the test off screen which means that nothing is rendered to screen (this requires the box to support off screen rendering)
Returns
TRUE if depth peeling is supported, FALSE otherwise (which means that another strategy must be used for correct rendering of translucent geometry, e.g. CPU-based depth sorting)

Definition at line 116 of file CorrectlyRenderTranslucentGeometry.cxx.

cxResourceVisualization_EXPORT bool SetupEnvironmentForDepthPeeling ( vtkSmartPointer< vtkRenderWindow >  renderWindow,
vtkSmartPointer< vtkRenderer >  renderer,
int  maxNoOfPeels,
double  occlusionRatio 
)

Setup the rendering environment for depth peeling (general depth peeling support is requested).

See Also
IsDepthPeelingSupported()
Parameters
renderWindowa valid openGL-supporting render window
renderera valid renderer instance
maxNoOfPeelsmaximum number of depth peels (multi-pass rendering)
occlusionRatiothe occlusion ration (0.0 means a perfect image, >0.0 means a non-perfect image which in general results in faster rendering)
Returns
TRUE if depth peeling could be set up

Definition at line 78 of file CorrectlyRenderTranslucentGeometry.cxx.

cxResourceVisualization_EXPORT bool TurnOffDepthPeeling ( vtkSmartPointer< vtkRenderWindow >  renderWindow,
vtkSmartPointer< vtkRenderer >  renderer 
)

Turn off depth peeling.

Definition at line 123 of file cxDepthPeeling.cpp.