Nebula
Loading...
Searching...
No Matches
PostEffects Namespace Reference

Detailed Description

Bloom post effect.

SSR post effect.

SSAO post effect.

Histogram calculates a HDR luminance histogram over the entire image to account for light intensity and color saturation.

Handles callbacks for downscaling passes.

(C) 2021 Individual contributors, see AUTHORS file

Classes

class  BloomContext
 
class  DownsamplingContext
 
class  HistogramContext
 
class  SSAOContext
 
class  SSRContext
 

Functions

 __ImplementPluginContext (PostEffects::BloomContext)
 
 __ImplementPluginContext (DownsamplingContext)
 
uint DispatchSize (SizeT numPixels)
 
void SetupMipChainResources (CoreGraphics::TextureId tex, Util::FixedArray< CoreGraphics::TextureViewId > &views, CoreGraphics::ResourceTableId table, const Util::String &name, bool depth, IndexT input, IndexT slot)
 
 __ImplementPluginContext (PostEffects::HistogramContext)
 
 __ImplementPluginContext (PostEffects::SSAOContext)
 
 __ImplementPluginContext (PostEffects::SSRContext)
 

Variables

struct { 
 
   CoreGraphics::ShaderProgramId   PostEffects::program 
 
   CoreGraphics::ShaderId   PostEffects::shader 
 
   CoreGraphics::ResourceTableId   PostEffects::resourceTable 
 
   CoreGraphics::BufferId   PostEffects::constants 
 
   CoreGraphics::TextureId   PostEffects::bloomBuffer 
 
   CoreGraphics::TextureId   PostEffects::lightBuffer 
 
   Ptr< Frame::FrameScript >   PostEffects::frameScript 
 
   Util::FixedArray< CoreGraphics::TextureViewId >   PostEffects::lightBufferViews 
 
   Memory::ArenaAllocator< sizeof(Frame::FrameCode) *1 >   PostEffects::frameOpAllocator 
 
bloomState 
 
struct { 
 
   CoreGraphics::ResourceTableId   PostEffects::depthDownsampleResourceTable 
 
   CoreGraphics::ResourceTableId   PostEffects::colorDownsampleResourceTable 
 
   CoreGraphics::ShaderId   PostEffects::downsampleDepthShader 
 
   CoreGraphics::ShaderProgramId   PostEffects::downsampleDepthProgram 
 
   CoreGraphics::ShaderId   PostEffects::downsampleColorShader 
 
   CoreGraphics::ShaderProgramId   PostEffects::downsampleColorProgram 
 
   CoreGraphics::ShaderId   PostEffects::extractShader 
 
   CoreGraphics::ShaderProgramId   PostEffects::extractProgram 
 
   CoreGraphics::ResourceTableId   PostEffects::extractResourceTable 
 
   Util::FixedArray< CoreGraphics::TextureViewId >   PostEffects::downsampledColorBufferViews 
 
   CoreGraphics::BufferId   PostEffects::colorBufferCounter 
 
   CoreGraphics::BufferId   PostEffects::colorBufferConstants 
 
   Util::FixedArray< CoreGraphics::TextureViewId >   PostEffects::downsampledDepthBufferViews 
 
   CoreGraphics::BufferId   PostEffects::depthBufferCounter 
 
   CoreGraphics::BufferId   PostEffects::depthBufferConstants 
 
   CoreGraphics::TextureId   PostEffects::lightBuffer 
 
   CoreGraphics::TextureId   PostEffects::depthBuffer 
 
   CoreGraphics::TextureId   PostEffects::zbuffer 
 
   Ptr< Frame::FrameScript >   PostEffects::frameScript 
 
   Memory::ArenaAllocator< sizeof(Frame::FrameCode) *2 >   PostEffects::frameOpAllocator 
 
state 
 
struct { 
 
   CoreGraphics::ShaderId   PostEffects::histogramShader 
 
   CoreGraphics::ShaderProgramId   PostEffects::histogramCategorizeProgram 
 
   CoreGraphics::BufferId   PostEffects::histogramCounters 
 
   CoreGraphics::BufferId   PostEffects::histogramConstants 
 
   CoreGraphics::BufferId   PostEffects::histogramClearCountersBuffer 
 
   CoreGraphics::ResourceTableId   PostEffects::histogramResourceTable 
 
   CoreGraphics::BufferSet   PostEffects::histogramReadbackBuffers 
 
   Ptr< Frame::FrameScript >   PostEffects::frameScript 
 
   CoreGraphics::TextureDimensions   PostEffects::sourceTextureDimensions 
 
   CoreGraphics::TextureId   PostEffects::sourceTexture 
 
   IndexT   PostEffects::sourceTextureBinding 
 
   Util::FixedArray< CoreGraphics::TextureViewId >   PostEffects::downsampledColorBufferViews 
 
   Memory::ArenaAllocator< sizeof(Frame::FrameCode) *4 >   PostEffects::frameOpAllocator 
 
   Math::float2   PostEffects::offset 
 
   Math::float2   PostEffects::size 
 
   int   PostEffects::mip 
 
   float   PostEffects::logLuminanceRange 
 
   Core::CVar *   PostEffects::minLuminance 
 
   float   PostEffects::logMinLuminance 
 
   float   PostEffects::previousLum 
 
histogramState 
 
struct { 
 
   CoreGraphics::ShaderId   PostEffects::hbaoShader 
 
   CoreGraphics::ShaderId   PostEffects::blurShader 
 
   CoreGraphics::ShaderProgramId   PostEffects::xDirectionHBAO 
 
   CoreGraphics::ShaderProgramId   PostEffects::yDirectionHBAO 
 
   CoreGraphics::ShaderProgramId   PostEffects::xDirectionBlur 
 
   CoreGraphics::ShaderProgramId   PostEffects::yDirectionBlur 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   PostEffects::hbaoTable 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   PostEffects::blurTableX 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   PostEffects::blurTableY 
 
   IndexT   PostEffects::uvToViewAVar 
 
   IndexT   PostEffects::uvToViewBVar 
 
   IndexT   PostEffects::r2Var 
 
   IndexT   PostEffects::aoResolutionVar 
 
   IndexT   PostEffects::invAOResolutionVar 
 
   IndexT   PostEffects::strengthVar 
 
   IndexT   PostEffects::tanAngleBiasVar 
 
   IndexT   PostEffects::powerExponentVar 
 
   IndexT   PostEffects::blurFalloff 
 
   IndexT   PostEffects::blurDepthThreshold 
 
   CoreGraphics::TextureId   PostEffects::internalTargets [2] 
 
   CoreGraphics::TextureId   PostEffects::ssaoOutput 
 
   CoreGraphics::TextureId   PostEffects::zBuffer 
 
   Ptr< Frame::FrameScript >   PostEffects::frameScript 
 
   Memory::ArenaAllocator< sizeof(Frame::FrameCode) *4 >   PostEffects::frameOpAllocator 
 
   struct AOVariables
 
      float   PostEffects::fullWidth 
 
      float   PostEffects::fullHeight 
 
      float   PostEffects::width 
 
      float   PostEffects::height 
 
      float   PostEffects::downsample 
 
      float   PostEffects::nearZ 
 
      float   PostEffects::farZ 
 
      float   PostEffects::sceneScale 
 
      Math::vec2   PostEffects::uvToViewA 
 
      Math::vec2   PostEffects::uvToViewB 
 
      float   PostEffects::radius 
 
      float   PostEffects::r 
 
      float   PostEffects::r2 
 
      float   PostEffects::negInvR2 
 
      Math::vec2   PostEffects::focalLength 
 
      Math::vec2   PostEffects::aoResolution 
 
      Math::vec2   PostEffects::invAOResolution 
 
      float   PostEffects::maxRadiusPixels 
 
      float   PostEffects::strength 
 
      float   PostEffects::tanAngleBias 
 
      float   PostEffects::blurThreshold 
 
      float   PostEffects::blurFalloff 
 
   }   PostEffects::vars 
 
ssaoState 
 
struct { 
 
   CoreGraphics::ShaderId   PostEffects::traceShader 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   PostEffects::ssrTraceTables 
 
   CoreGraphics::ShaderId   PostEffects::resolveShader 
 
   Util::FixedArray< CoreGraphics::ResourceTableId >   PostEffects::ssrResolveTables 
 
   CoreGraphics::ShaderProgramId   PostEffects::traceProgram 
 
   CoreGraphics::ShaderProgramId   PostEffects::resolveProgram 
 
   CoreGraphics::TextureId   PostEffects::traceBuffer 
 
   CoreGraphics::TextureId   PostEffects::reflectionBuffer 
 
ssrState 
 

Function Documentation

◆ __ImplementPluginContext() [1/5]

PostEffects::__ImplementPluginContext ( DownsamplingContext )

◆ __ImplementPluginContext() [2/5]

PostEffects::__ImplementPluginContext ( PostEffects::BloomContext )

◆ __ImplementPluginContext() [3/5]

PostEffects::__ImplementPluginContext ( PostEffects::HistogramContext )

◆ __ImplementPluginContext() [4/5]

PostEffects::__ImplementPluginContext ( PostEffects::SSAOContext )

◆ __ImplementPluginContext() [5/5]

PostEffects::__ImplementPluginContext ( PostEffects::SSRContext )

◆ DispatchSize()

uint PostEffects::DispatchSize ( SizeT numPixels)

◆ SetupMipChainResources()

void PostEffects::SetupMipChainResources ( CoreGraphics::TextureId tex,
Util::FixedArray< CoreGraphics::TextureViewId > & views,
CoreGraphics::ResourceTableId table,
const Util::String & name,
bool depth,
IndexT input,
IndexT slot )

Variable Documentation

◆ aoResolution

Math::vec2 PostEffects::aoResolution

◆ aoResolutionVar

IndexT PostEffects::aoResolutionVar

◆ bloomBuffer

CoreGraphics::TextureId PostEffects::bloomBuffer

◆ [struct]

struct { ... } PostEffects::bloomState

◆ blurDepthThreshold

IndexT PostEffects::blurDepthThreshold

◆ blurFalloff

float PostEffects::blurFalloff

◆ blurShader

CoreGraphics::ShaderId PostEffects::blurShader

◆ blurTableX

◆ blurTableY

◆ blurThreshold

float PostEffects::blurThreshold

◆ colorBufferConstants

CoreGraphics::BufferId PostEffects::colorBufferConstants

◆ colorBufferCounter

CoreGraphics::BufferId PostEffects::colorBufferCounter

◆ colorDownsampleResourceTable

CoreGraphics::ResourceTableId PostEffects::colorDownsampleResourceTable

◆ constants

CoreGraphics::BufferId PostEffects::constants

◆ depthBuffer

CoreGraphics::TextureId PostEffects::depthBuffer

◆ depthBufferConstants

CoreGraphics::BufferId PostEffects::depthBufferConstants

◆ depthBufferCounter

CoreGraphics::BufferId PostEffects::depthBufferCounter

◆ depthDownsampleResourceTable

CoreGraphics::ResourceTableId PostEffects::depthDownsampleResourceTable

◆ downsample

float PostEffects::downsample

◆ downsampleColorProgram

CoreGraphics::ShaderProgramId PostEffects::downsampleColorProgram

◆ downsampleColorShader

CoreGraphics::ShaderId PostEffects::downsampleColorShader

◆ downsampledColorBufferViews

Util::FixedArray<CoreGraphics::TextureViewId> PostEffects::downsampledColorBufferViews

◆ downsampledDepthBufferViews

Util::FixedArray<CoreGraphics::TextureViewId> PostEffects::downsampledDepthBufferViews

◆ downsampleDepthProgram

CoreGraphics::ShaderProgramId PostEffects::downsampleDepthProgram

◆ downsampleDepthShader

CoreGraphics::ShaderId PostEffects::downsampleDepthShader

◆ extractProgram

CoreGraphics::ShaderProgramId PostEffects::extractProgram

◆ extractResourceTable

CoreGraphics::ResourceTableId PostEffects::extractResourceTable

◆ extractShader

CoreGraphics::ShaderId PostEffects::extractShader

◆ farZ

float PostEffects::farZ

◆ focalLength

Math::vec2 PostEffects::focalLength

◆ frameOpAllocator

Memory::ArenaAllocator<sizeof(Frame::FrameCode) * 4> PostEffects::frameOpAllocator

◆ frameScript

Ptr<Frame::FrameScript> PostEffects::frameScript

◆ fullHeight

float PostEffects::fullHeight

◆ fullWidth

float PostEffects::fullWidth

◆ hbaoShader

CoreGraphics::ShaderId PostEffects::hbaoShader

◆ hbaoTable

◆ height

float PostEffects::height

◆ histogramCategorizeProgram

CoreGraphics::ShaderProgramId PostEffects::histogramCategorizeProgram

◆ histogramClearCountersBuffer

CoreGraphics::BufferId PostEffects::histogramClearCountersBuffer

◆ histogramConstants

CoreGraphics::BufferId PostEffects::histogramConstants

◆ histogramCounters

CoreGraphics::BufferId PostEffects::histogramCounters

◆ histogramReadbackBuffers

CoreGraphics::BufferSet PostEffects::histogramReadbackBuffers

◆ histogramResourceTable

CoreGraphics::ResourceTableId PostEffects::histogramResourceTable

◆ histogramShader

CoreGraphics::ShaderId PostEffects::histogramShader

◆ [struct]

struct { ... } PostEffects::histogramState

◆ internalTargets

CoreGraphics::TextureId PostEffects::internalTargets[2]

◆ invAOResolution

Math::vec2 PostEffects::invAOResolution

◆ invAOResolutionVar

IndexT PostEffects::invAOResolutionVar

◆ lightBuffer

CoreGraphics::TextureId PostEffects::lightBuffer

◆ lightBufferViews

Util::FixedArray<CoreGraphics::TextureViewId> PostEffects::lightBufferViews

◆ logLuminanceRange

float PostEffects::logLuminanceRange

◆ logMinLuminance

float PostEffects::logMinLuminance

◆ maxRadiusPixels

float PostEffects::maxRadiusPixels

◆ minLuminance

Core::CVar* PostEffects::minLuminance

◆ mip

int PostEffects::mip

◆ nearZ

float PostEffects::nearZ

◆ negInvR2

float PostEffects::negInvR2

◆ offset

Math::float2 PostEffects::offset

◆ powerExponentVar

IndexT PostEffects::powerExponentVar

◆ previousLum

float PostEffects::previousLum

◆ program

CoreGraphics::ShaderProgramId PostEffects::program

◆ r

float PostEffects::r

◆ r2

float PostEffects::r2

◆ r2Var

IndexT PostEffects::r2Var

◆ radius

float PostEffects::radius

◆ reflectionBuffer

CoreGraphics::TextureId PostEffects::reflectionBuffer

◆ resolveProgram

CoreGraphics::ShaderProgramId PostEffects::resolveProgram

◆ resolveShader

CoreGraphics::ShaderId PostEffects::resolveShader

◆ resourceTable

CoreGraphics::ResourceTableId PostEffects::resourceTable

◆ sceneScale

float PostEffects::sceneScale

◆ shader

CoreGraphics::ShaderId PostEffects::shader

◆ size

Math::float2 PostEffects::size

◆ sourceTexture

CoreGraphics::TextureId PostEffects::sourceTexture

◆ sourceTextureBinding

IndexT PostEffects::sourceTextureBinding

◆ sourceTextureDimensions

CoreGraphics::TextureDimensions PostEffects::sourceTextureDimensions

◆ ssaoOutput

CoreGraphics::TextureId PostEffects::ssaoOutput

◆ [struct]

struct { ... } PostEffects::ssaoState

◆ ssrResolveTables

Util::FixedArray<CoreGraphics::ResourceTableId> PostEffects::ssrResolveTables

◆ [struct]

struct { ... } PostEffects::ssrState

◆ ssrTraceTables

Util::FixedArray<CoreGraphics::ResourceTableId> PostEffects::ssrTraceTables

◆ [struct]

struct { ... } PostEffects::state

◆ strength

float PostEffects::strength

◆ strengthVar

IndexT PostEffects::strengthVar

◆ tanAngleBias

float PostEffects::tanAngleBias

◆ tanAngleBiasVar

IndexT PostEffects::tanAngleBiasVar

◆ traceBuffer

CoreGraphics::TextureId PostEffects::traceBuffer

◆ traceProgram

CoreGraphics::ShaderProgramId PostEffects::traceProgram

◆ traceShader

CoreGraphics::ShaderId PostEffects::traceShader

◆ uvToViewA

Math::vec2 PostEffects::uvToViewA

◆ uvToViewAVar

IndexT PostEffects::uvToViewAVar

◆ uvToViewB

Math::vec2 PostEffects::uvToViewB

◆ uvToViewBVar

IndexT PostEffects::uvToViewBVar

◆ [struct]

struct { ... } ::AOVariables PostEffects::vars

◆ width

float PostEffects::width

◆ xDirectionBlur

CoreGraphics::ShaderProgramId PostEffects::xDirectionBlur

◆ xDirectionHBAO

CoreGraphics::ShaderProgramId PostEffects::xDirectionHBAO

◆ yDirectionBlur

CoreGraphics::ShaderProgramId PostEffects::yDirectionBlur

◆ yDirectionHBAO

CoreGraphics::ShaderProgramId PostEffects::yDirectionHBAO

◆ zbuffer

CoreGraphics::TextureId PostEffects::zbuffer

◆ zBuffer

CoreGraphics::TextureId PostEffects::zBuffer