123#ifndef vtkOpenGLRenderer_h
124#define vtkOpenGLRenderer_h
132#include "vtkRenderingOpenGL2Module.h"
139VTK_ABI_NAMESPACE_BEGIN
232 vtkGetMacro(LightingComplexity,
int);
235 vtkGetMacro(LightingCount,
int);
267 vtkSetMacro(UseSphericalHarmonics,
bool);
268 vtkGetMacro(UseSphericalHarmonics,
bool);
269 vtkBooleanMacro(UseSphericalHarmonics,
bool);
317 friend class vtkOpenGLImageResliceMapper;
Implement Depth Peeling for use within a framebuffer pass.
dynamic, self-adjusting array of float
abstract interface to OpenGL FBOs
a simple class to control print indentation
Perform FXAA antialiasing on the current framebuffer.
OpenGL mapper for image slice display.
vtkPBRPrefilterTexture * GetEnvMapPrefiltered()
Get environment textures used for image based lighting.
vtkSmartPointer< vtkPBRIrradianceTexture > EnvMapIrradiance
bool UseSphericalHarmonics
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false) override
Set/Get the environment texture used for image based lighting.
vtkSmartPointer< vtkFloatArray > SphericalHarmonics
vtkSetSmartPointerMacro(EnvMapLookupTable, vtkPBRLUTTexture)
Get environment textures used for image based lighting.
vtkPBRLUTTexture * GetEnvMapLookupTable()
Get environment textures used for image based lighting.
vtkShadowMapPass * ShadowMapPass
Shadows are delegated to an instance of vtkShadowMapPass.
vtkOpenGLState * GetState()
std::string LightingDeclaration
vtkDepthPeelingPass * DepthPeelingPass
Depth peeling is delegated to an instance of vtkDepthPeelingPass.
static bool HaveAppleQueryAllocationBug()
Indicate if this system is subject to the apple/NVIDIA bug that causes crashes in the driver when too...
vtkSSAOPass * SSAOPass
SSAO is delegated to an instance of vtkSSAOPass.
bool IsDualDepthPeelingSupported()
Dual depth peeling may be disabled for certain runtime configurations.
vtkSmartPointer< vtkPBRLUTTexture > EnvMapLookupTable
vtkSmartPointer< vtkTransform > UserLightTransform
Optional user transform for lights.
vtkTransform * GetUserLightTransform()
Set the user light transform applied after the camera transform.
vtkSetSmartPointerMacro(EnvMapIrradiance, vtkPBRIrradianceTexture)
Get environment textures used for image based lighting.
vtkSmartPointer< vtkPBRPrefilterTexture > EnvMapPrefiltered
void DeviceRenderTranslucentPolygonalGeometry(vtkFrameBufferObjectBase *fbo=nullptr) override
Render translucent polygonal geometry.
vtkTexture * GetCurrentTexturedBackground()
Check and return the textured background for the current state If monocular or stereo left eye,...
const char * GetLightingUniforms()
vtkSmartPointer< vtkTexturedActor2D > BackgroundGradientActor
int UpdateLights() override
Ask lights to load themselves into graphics pipeline.
vtkOrderIndependentTranslucentPass * TranslucentPass
Fallback for transparency.
vtkMTimeType LightingUpdateTime
void DeviceRenderOpaqueGeometry(vtkFrameBufferObjectBase *fbo=nullptr) override
Overridden to support hidden line removal.
static vtkOpenGLRenderer * New()
vtkOpenGLFXAAFilter * FXAAFilter
FXAA is delegated to an instance of vtkOpenGLFXAAFilter.
void ReleaseGraphicsResources(vtkWindow *w) override
vtkSetSmartPointerMacro(EnvMapPrefiltered, vtkPBRPrefilterTexture)
Get environment textures used for image based lighting.
void DeviceRender() override
Concrete open gl render method.
vtkPBRIrradianceTexture * GetEnvMapIrradiance()
Get environment textures used for image based lighting.
int UpdateGeometry(vtkFrameBufferObjectBase *fbo=nullptr) override
Ask all props to update and draw any opaque and translucent geometry.
void UpdateLightingUniforms(vtkShaderProgram *prog)
void SetUserLightTransform(vtkTransform *transform)
Set the user light transform applied after the camera transform.
vtkSmartPointer< vtkPolyDataMapper2D > BackgroundMapper
vtkFloatArray * GetSphericalHarmonics()
Get spherical harmonics coefficients used for irradiance.
int DepthPeelingHigherLayer
void Clear() override
Clear the image to the background color.
vtkSmartPointer< vtkTexturedActor2D > BackgroundTextureActor
~vtkOpenGLRenderer() override
vtkSmartPointer< vtkPolyData > BackgroundQuad
void CheckCompilation(unsigned int fragmentShader)
Check the compilation status of some fragment shader source.
int GetDepthPeelingHigherLayer()
Is rendering at translucent geometry stage using depth peeling and rendering a layer other than the f...
Implement OIT rendering using average color.
precompute irradiance texture used in physically based rendering
precompute BRDF look-up table texture used in physically based rendering
precompute prefilter texture used in physically based rendering
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Perform part of the rendering of a vtkRenderer.
abstract specification for renderers
Implement a screen-space ambient occlusion pass.
The ShaderProgram uses one or more Shader objects.
Implement a shadow mapping render pass.
Hold a reference to a vtkObjectBase instance.
abstracts an OpenGL texture object.
handles properties associated with a texture map
actor that draws 2D data with texture support
window superclass for vtkRenderWindow
vtkTypeUInt32 vtkMTimeType