132#ifndef vtkOpenGLRenderer_h
133#define vtkOpenGLRenderer_h
137#include "vtkRenderingOpenGL2Module.h"
204 "Removed in 9.1.0 as this bug does not affect any macOS release that VTK supports")
205 bool HaveApplePrimitiveIdBug();
211 static
bool HaveAppleQueryAllocationBug();
218 bool IsDualDepthPeelingSupported();
226 const
char* GetLightingUniforms();
244 vtkGetMacro(LightingComplexity,
int);
247 vtkGetMacro(LightingCount,
int);
276 vtkSetMacro(UseSphericalHarmonics,
bool);
277 vtkGetMacro(UseSphericalHarmonics,
bool);
278 vtkBooleanMacro(UseSphericalHarmonics,
bool);
315 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.
bool UseSphericalHarmonics
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPBRPrefilterTexture * EnvMapPrefiltered
void SetEnvironmentTexture(vtkTexture *texture, bool isSRGB=false) override
Overriden in order to connect the texture to the environment map textures.
vtkSmartPointer< vtkFloatArray > SphericalHarmonics
vtkPBRLUTTexture * GetEnvMapLookupTable()
Get environment textures used for image based lighting.
vtkShadowMapPass * ShadowMapPass
Shadows are delegated to an instance of vtkShadowMapPass.
vtkPBRIrradianceTexture * EnvMapIrradiance
std::string LightingDeclaration
vtkDepthPeelingPass * DepthPeelingPass
Depth peeling is delegated to an instance of vtkDepthPeelingPass.
vtkPBRLUTTexture * EnvMapLookupTable
vtkSSAOPass * SSAOPass
SSAO is delegated to an instance of vtkSSAOPass.
void Clear(void) override
Clear the image to the background color.
vtkSmartPointer< vtkTransform > UserLightTransform
Optional user transform for lights.
vtkTransform * GetUserLightTransform()
Set the user light transform applied after the camera transform.
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,...
vtkOrderIndependentTranslucentPass * TranslucentPass
Fallback for transparency.
vtkMTimeType LightingUpdateTime
int UpdateLights(void) override
Ask lights to load themselves into graphics pipeline.
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
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 SetUserLightTransform(vtkTransform *transform)
Set the user light transform applied after the camera transform.
void DeviceRender(void) override
Concrete open gl render method.
vtkFloatArray * GetSphericalHarmonics()
Get spherical harmonics coefficients used for irradiance.
int DepthPeelingHigherLayer
~vtkOpenGLRenderer() override
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
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
window superclass for vtkRenderWindow
#define VTK_DEPRECATED_IN_9_1_0(reason)
vtkTypeUInt32 vtkMTimeType