OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
Shaders Class Reference

#include <shaders.h>

Public Types

enum  PipelineType : uint8_t { T_Depth , T_Shadow , T_Vsm , T_Main }
 

Public Member Functions

 Shaders ()
 
 ~Shaders ()
 
void waitCompiler ()
 
const Tempest::RenderPipeline * materialPipeline (const Material &desc, DrawCommands::Type t, PipelineType pt, bool bindless) const
 

Static Public Member Functions

static Shadersinst ()
 
static bool isVsmSupported ()
 
static bool isRtsmSupported ()
 

Public Attributes

Tempest::RenderPipeline lights
 
Tempest::RenderPipeline lightsRq
 
Tempest::RenderPipeline lightsVsm
 
Tempest::RenderPipeline directLight
 
Tempest::RenderPipeline directLightSh
 
Tempest::RenderPipeline directLightRq
 
Tempest::RenderPipeline ambientLight
 
Tempest::RenderPipeline ambientLightSsao
 
Tempest::ComputePipeline copyBuf
 
Tempest::ComputePipeline copyImg
 
Tempest::ComputePipeline patch
 
Tempest::RenderPipeline copy
 
Tempest::RenderPipeline stash
 
Tempest::RenderPipeline bink
 
Tempest::ComputePipeline ssao
 
Tempest::ComputePipeline ssaoBlur
 
Tempest::ComputePipeline irradiance
 
Tempest::RenderPipeline skyTransmittance
 
Tempest::RenderPipeline skyMultiScattering
 
Tempest::RenderPipeline skyViewLut
 
Tempest::RenderPipeline skyViewCldLut
 
Tempest::RenderPipeline sky
 
Tempest::RenderPipeline skySep
 
Tempest::RenderPipeline fog
 
Tempest::RenderPipeline fog3dHQ
 
Tempest::RenderPipeline sun
 
Tempest::ComputePipeline cloudsLut
 
Tempest::ComputePipeline fogOcclusion
 
Tempest::ComputePipeline fogViewLut3d
 
Tempest::ComputePipeline fogViewLutSep
 
Tempest::ComputePipeline skyExposure
 
Tempest::RenderPipeline skyPathTrace
 
Tempest::RenderPipeline underwaterT
 
Tempest::RenderPipeline underwaterS
 
Tempest::RenderPipeline waterReflection
 
Tempest::RenderPipeline waterReflectionSSR
 
Tempest::RenderPipeline tonemapping
 
Tempest::RenderPipeline tonemappingUpscale
 
Tempest::ComputePipeline cmaa2EdgeColor2x2Presets [uint32_t(AaPreset::PRESETS_COUNT)]
 
Tempest::ComputePipeline cmaa2ProcessCandidates
 
Tempest::RenderPipeline cmaa2DeferredColorApply2x2
 
Tempest::ComputePipeline hiZPot
 
Tempest::ComputePipeline hiZMip
 
Tempest::ComputePipeline clusterInit
 
Tempest::ComputePipeline clusterPatch
 
Tempest::ComputePipeline visibilityPassSh
 
Tempest::ComputePipeline visibilityPassHiZ
 
Tempest::ComputePipeline visibilityPassHiZCr
 
Tempest::RenderPipeline probeDbg
 
Tempest::RenderPipeline probeHitDbg
 
Tempest::ComputePipeline probeInit
 
Tempest::ComputePipeline probeClear
 
Tempest::ComputePipeline probeClearHash
 
Tempest::ComputePipeline probeMakeHash
 
Tempest::ComputePipeline probeVote
 
Tempest::ComputePipeline probePrune
 
Tempest::ComputePipeline probeAlocation
 
Tempest::ComputePipeline probeTrace
 
Tempest::ComputePipeline probeLighting
 
Tempest::RenderPipeline probeAmbient
 
Tempest::ComputePipeline fogEpipolarVsm
 
Tempest::ComputePipeline fogEpipolarOcclusion
 
Tempest::ComputePipeline vsmVisibilityPass
 
Tempest::ComputePipeline vsmClear
 
Tempest::ComputePipeline vsmClearOmni
 
Tempest::ComputePipeline vsmCullLights
 
Tempest::ComputePipeline vsmMarkPages
 
Tempest::ComputePipeline vsmMarkOmniPages
 
Tempest::ComputePipeline vsmPostprocessOmni
 
Tempest::ComputePipeline vsmTrimPages
 
Tempest::ComputePipeline vsmSortPages
 
Tempest::ComputePipeline vsmListPages
 
Tempest::ComputePipeline vsmClumpPages
 
Tempest::ComputePipeline vsmAllocPages
 
Tempest::ComputePipeline vsmAlloc2Pages
 
Tempest::ComputePipeline vsmMergePages
 
Tempest::ComputePipeline vsmPackDraw0
 
Tempest::ComputePipeline vsmPackDraw1
 
Tempest::ComputePipeline vsmFogPages
 
Tempest::ComputePipeline vsmFogShadow
 
Tempest::ComputePipeline vsmFogTrace
 
Tempest::RenderPipeline vsmFog
 
Tempest::RenderPipeline vsmDirectLight
 
Tempest::RenderPipeline vsmDbg
 
Tempest::ComputePipeline vsmRendering
 
Tempest::RenderPipeline rtsmDirectLight
 
Tempest::ComputePipeline rtsmClear
 
Tempest::ComputePipeline rtsmPages
 
Tempest::ComputePipeline rtsmFogPages
 
Tempest::ComputePipeline rtsmHiZ
 
Tempest::ComputePipeline rtsmCulling
 
Tempest::ComputePipeline rtsmPosition
 
Tempest::ComputePipeline rtsmMeshletCull
 
Tempest::ComputePipeline rtsmPrimCull
 
Tempest::ComputePipeline rtsmRaster
 
Tempest::ComputePipeline rtsmClearOmni
 
Tempest::ComputePipeline rtsmCullLights
 
Tempest::ComputePipeline rtsmCompactLights
 
Tempest::ComputePipeline rtsmCullingOmni
 
Tempest::ComputePipeline rtsmPositionOmni
 
Tempest::ComputePipeline rtsmMeshletOmni
 
Tempest::ComputePipeline rtsmBackfaceOmni
 
Tempest::ComputePipeline rtsmLightsOmni
 
Tempest::ComputePipeline rtsmBboxesOmni
 
Tempest::ComputePipeline rtsmCompactOmni
 
Tempest::ComputePipeline rtsmTaskOmni
 
Tempest::ComputePipeline rtsmPrimOmni
 
Tempest::ComputePipeline rtsmRasterOmni
 
Tempest::ComputePipeline rtsmRendering
 
Tempest::ComputePipeline rtsmRenderingOmni
 
Tempest::RenderPipeline rtsmDbg
 
Tempest::ComputePipeline swRaytracing
 
Tempest::ComputePipeline swRaytracing64
 
Tempest::ComputePipeline swRaytracing8
 
Tempest::ComputePipeline swRendering
 
Tempest::RenderPipeline swRenderingDbg
 
Tempest::RenderPipeline inventory
 

Detailed Description

Definition at line 13 of file shaders.h.

Member Enumeration Documentation

◆ PipelineType

enum Shaders::PipelineType : uint8_t
Enumerator
T_Depth 
T_Shadow 
T_Vsm 
T_Main 

Definition at line 20 of file shaders.h.

Constructor & Destructor Documentation

◆ Shaders()

Shaders::Shaders ( )

Definition at line 17 of file shaders.cpp.

◆ ~Shaders()

Shaders::~Shaders ( )

Definition at line 30 of file shaders.cpp.

Member Function Documentation

◆ inst()

Shaders & Shaders::inst ( )
static

Definition at line 39 of file shaders.cpp.

◆ isRtsmSupported()

bool Shaders::isRtsmSupported ( )
static

Definition at line 325 of file shaders.cpp.

◆ isVsmSupported()

bool Shaders::isVsmSupported ( )
static

Definition at line 316 of file shaders.cpp.

◆ materialPipeline()

const RenderPipeline * Shaders::materialPipeline ( const Material desc,
DrawCommands::Type  t,
PipelineType  pt,
bool  bindless 
) const

Definition at line 338 of file shaders.cpp.

◆ waitCompiler()

void Shaders::waitCompiler ( )

Definition at line 35 of file shaders.cpp.

Member Data Documentation

◆ ambientLight

Tempest::RenderPipeline Shaders::ambientLight

Definition at line 33 of file shaders.h.

◆ ambientLightSsao

Tempest::RenderPipeline Shaders::ambientLightSsao

Definition at line 33 of file shaders.h.

◆ bink

Tempest::RenderPipeline Shaders::bink

Definition at line 40 of file shaders.h.

◆ cloudsLut

Tempest::ComputePipeline Shaders::cloudsLut

Definition at line 52 of file shaders.h.

◆ clusterInit

Tempest::ComputePipeline Shaders::clusterInit

Definition at line 72 of file shaders.h.

◆ clusterPatch

Tempest::ComputePipeline Shaders::clusterPatch

Definition at line 72 of file shaders.h.

◆ cmaa2DeferredColorApply2x2

Tempest::RenderPipeline Shaders::cmaa2DeferredColorApply2x2

Definition at line 66 of file shaders.h.

◆ cmaa2EdgeColor2x2Presets

Tempest::ComputePipeline Shaders::cmaa2EdgeColor2x2Presets[uint32_t(AaPreset::PRESETS_COUNT)]

Definition at line 64 of file shaders.h.

◆ cmaa2ProcessCandidates

Tempest::ComputePipeline Shaders::cmaa2ProcessCandidates

Definition at line 65 of file shaders.h.

◆ copy

Tempest::RenderPipeline Shaders::copy

Definition at line 38 of file shaders.h.

◆ copyBuf

Tempest::ComputePipeline Shaders::copyBuf

Definition at line 35 of file shaders.h.

◆ copyImg

Tempest::ComputePipeline Shaders::copyImg

Definition at line 36 of file shaders.h.

◆ directLight

Tempest::RenderPipeline Shaders::directLight

Definition at line 32 of file shaders.h.

◆ directLightRq

Tempest::RenderPipeline Shaders::directLightRq

Definition at line 32 of file shaders.h.

◆ directLightSh

Tempest::RenderPipeline Shaders::directLightSh

Definition at line 32 of file shaders.h.

◆ fog

Tempest::RenderPipeline Shaders::fog

Definition at line 49 of file shaders.h.

◆ fog3dHQ

Tempest::RenderPipeline Shaders::fog3dHQ

Definition at line 50 of file shaders.h.

◆ fogEpipolarOcclusion

Tempest::ComputePipeline Shaders::fogEpipolarOcclusion

Definition at line 84 of file shaders.h.

◆ fogEpipolarVsm

Tempest::ComputePipeline Shaders::fogEpipolarVsm

Definition at line 83 of file shaders.h.

◆ fogOcclusion

Tempest::ComputePipeline Shaders::fogOcclusion

Definition at line 52 of file shaders.h.

◆ fogViewLut3d

Tempest::ComputePipeline Shaders::fogViewLut3d

Definition at line 53 of file shaders.h.

◆ fogViewLutSep

Tempest::ComputePipeline Shaders::fogViewLutSep

Definition at line 53 of file shaders.h.

◆ hiZMip

Tempest::ComputePipeline Shaders::hiZMip

Definition at line 69 of file shaders.h.

◆ hiZPot

Tempest::ComputePipeline Shaders::hiZPot

Definition at line 69 of file shaders.h.

◆ inventory

Tempest::RenderPipeline Shaders::inventory

Definition at line 124 of file shaders.h.

◆ irradiance

Tempest::ComputePipeline Shaders::irradiance

Definition at line 44 of file shaders.h.

◆ lights

Tempest::RenderPipeline Shaders::lights

Definition at line 31 of file shaders.h.

◆ lightsRq

Tempest::RenderPipeline Shaders::lightsRq

Definition at line 31 of file shaders.h.

◆ lightsVsm

Tempest::RenderPipeline Shaders::lightsVsm

Definition at line 31 of file shaders.h.

◆ patch

Tempest::ComputePipeline Shaders::patch

Definition at line 37 of file shaders.h.

◆ probeAlocation

Tempest::ComputePipeline Shaders::probeAlocation

Definition at line 78 of file shaders.h.

◆ probeAmbient

Tempest::RenderPipeline Shaders::probeAmbient

Definition at line 80 of file shaders.h.

◆ probeClear

Tempest::ComputePipeline Shaders::probeClear

Definition at line 77 of file shaders.h.

◆ probeClearHash

Tempest::ComputePipeline Shaders::probeClearHash

Definition at line 77 of file shaders.h.

◆ probeDbg

Tempest::RenderPipeline Shaders::probeDbg

Definition at line 76 of file shaders.h.

◆ probeHitDbg

Tempest::RenderPipeline Shaders::probeHitDbg

Definition at line 76 of file shaders.h.

◆ probeInit

Tempest::ComputePipeline Shaders::probeInit

Definition at line 77 of file shaders.h.

◆ probeLighting

Tempest::ComputePipeline Shaders::probeLighting

Definition at line 79 of file shaders.h.

◆ probeMakeHash

Tempest::ComputePipeline Shaders::probeMakeHash

Definition at line 77 of file shaders.h.

◆ probePrune

Tempest::ComputePipeline Shaders::probePrune

Definition at line 78 of file shaders.h.

◆ probeTrace

Tempest::ComputePipeline Shaders::probeTrace

Definition at line 79 of file shaders.h.

◆ probeVote

Tempest::ComputePipeline Shaders::probeVote

Definition at line 78 of file shaders.h.

◆ rtsmBackfaceOmni

Tempest::ComputePipeline Shaders::rtsmBackfaceOmni

Definition at line 109 of file shaders.h.

◆ rtsmBboxesOmni

Tempest::ComputePipeline Shaders::rtsmBboxesOmni

Definition at line 110 of file shaders.h.

◆ rtsmClear

Tempest::ComputePipeline Shaders::rtsmClear

Definition at line 101 of file shaders.h.

◆ rtsmClearOmni

Tempest::ComputePipeline Shaders::rtsmClearOmni

Definition at line 106 of file shaders.h.

◆ rtsmCompactLights

Tempest::ComputePipeline Shaders::rtsmCompactLights

Definition at line 107 of file shaders.h.

◆ rtsmCompactOmni

Tempest::ComputePipeline Shaders::rtsmCompactOmni

Definition at line 110 of file shaders.h.

◆ rtsmCulling

Tempest::ComputePipeline Shaders::rtsmCulling

Definition at line 102 of file shaders.h.

◆ rtsmCullingOmni

Tempest::ComputePipeline Shaders::rtsmCullingOmni

Definition at line 107 of file shaders.h.

◆ rtsmCullLights

Tempest::ComputePipeline Shaders::rtsmCullLights

Definition at line 107 of file shaders.h.

◆ rtsmDbg

Tempest::RenderPipeline Shaders::rtsmDbg

Definition at line 114 of file shaders.h.

◆ rtsmDirectLight

Tempest::RenderPipeline Shaders::rtsmDirectLight

Definition at line 99 of file shaders.h.

◆ rtsmFogPages

Tempest::ComputePipeline Shaders::rtsmFogPages

Definition at line 101 of file shaders.h.

◆ rtsmHiZ

Tempest::ComputePipeline Shaders::rtsmHiZ

Definition at line 101 of file shaders.h.

◆ rtsmLightsOmni

Tempest::ComputePipeline Shaders::rtsmLightsOmni

Definition at line 110 of file shaders.h.

◆ rtsmMeshletCull

Tempest::ComputePipeline Shaders::rtsmMeshletCull

Definition at line 103 of file shaders.h.

◆ rtsmMeshletOmni

Tempest::ComputePipeline Shaders::rtsmMeshletOmni

Definition at line 109 of file shaders.h.

◆ rtsmPages

Tempest::ComputePipeline Shaders::rtsmPages

Definition at line 101 of file shaders.h.

◆ rtsmPosition

Tempest::ComputePipeline Shaders::rtsmPosition

Definition at line 102 of file shaders.h.

◆ rtsmPositionOmni

Tempest::ComputePipeline Shaders::rtsmPositionOmni

Definition at line 108 of file shaders.h.

◆ rtsmPrimCull

Tempest::ComputePipeline Shaders::rtsmPrimCull

Definition at line 103 of file shaders.h.

◆ rtsmPrimOmni

Tempest::ComputePipeline Shaders::rtsmPrimOmni

Definition at line 111 of file shaders.h.

◆ rtsmRaster

Tempest::ComputePipeline Shaders::rtsmRaster

Definition at line 104 of file shaders.h.

◆ rtsmRasterOmni

Tempest::ComputePipeline Shaders::rtsmRasterOmni

Definition at line 111 of file shaders.h.

◆ rtsmRendering

Tempest::ComputePipeline Shaders::rtsmRendering

Definition at line 113 of file shaders.h.

◆ rtsmRenderingOmni

Tempest::ComputePipeline Shaders::rtsmRenderingOmni

Definition at line 113 of file shaders.h.

◆ rtsmTaskOmni

Tempest::ComputePipeline Shaders::rtsmTaskOmni

Definition at line 110 of file shaders.h.

◆ sky

Tempest::RenderPipeline Shaders::sky

Definition at line 48 of file shaders.h.

◆ skyExposure

Tempest::ComputePipeline Shaders::skyExposure

Definition at line 54 of file shaders.h.

◆ skyMultiScattering

Tempest::RenderPipeline Shaders::skyMultiScattering

Definition at line 47 of file shaders.h.

◆ skyPathTrace

Tempest::RenderPipeline Shaders::skyPathTrace

Definition at line 56 of file shaders.h.

◆ skySep

Tempest::RenderPipeline Shaders::skySep

Definition at line 48 of file shaders.h.

◆ skyTransmittance

Tempest::RenderPipeline Shaders::skyTransmittance

Definition at line 47 of file shaders.h.

◆ skyViewCldLut

Tempest::RenderPipeline Shaders::skyViewCldLut

Definition at line 48 of file shaders.h.

◆ skyViewLut

Tempest::RenderPipeline Shaders::skyViewLut

Definition at line 48 of file shaders.h.

◆ ssao

Tempest::ComputePipeline Shaders::ssao

Definition at line 42 of file shaders.h.

◆ ssaoBlur

Tempest::ComputePipeline Shaders::ssaoBlur

Definition at line 42 of file shaders.h.

◆ stash

Tempest::RenderPipeline Shaders::stash

Definition at line 39 of file shaders.h.

◆ sun

Tempest::RenderPipeline Shaders::sun

Definition at line 51 of file shaders.h.

◆ swRaytracing

Tempest::ComputePipeline Shaders::swRaytracing

Definition at line 116 of file shaders.h.

◆ swRaytracing64

Tempest::ComputePipeline Shaders::swRaytracing64

Definition at line 116 of file shaders.h.

◆ swRaytracing8

Tempest::ComputePipeline Shaders::swRaytracing8

Definition at line 117 of file shaders.h.

◆ swRendering

Tempest::ComputePipeline Shaders::swRendering

Definition at line 120 of file shaders.h.

◆ swRenderingDbg

Tempest::RenderPipeline Shaders::swRenderingDbg

Definition at line 121 of file shaders.h.

◆ tonemapping

Tempest::RenderPipeline Shaders::tonemapping

Definition at line 61 of file shaders.h.

◆ tonemappingUpscale

Tempest::RenderPipeline Shaders::tonemappingUpscale

Definition at line 61 of file shaders.h.

◆ underwaterS

Tempest::RenderPipeline Shaders::underwaterS

Definition at line 58 of file shaders.h.

◆ underwaterT

Tempest::RenderPipeline Shaders::underwaterT

Definition at line 58 of file shaders.h.

◆ visibilityPassHiZ

Tempest::ComputePipeline Shaders::visibilityPassHiZ

Definition at line 73 of file shaders.h.

◆ visibilityPassHiZCr

Tempest::ComputePipeline Shaders::visibilityPassHiZCr

Definition at line 73 of file shaders.h.

◆ visibilityPassSh

Tempest::ComputePipeline Shaders::visibilityPassSh

Definition at line 73 of file shaders.h.

◆ vsmAlloc2Pages

Tempest::ComputePipeline Shaders::vsmAlloc2Pages

Definition at line 89 of file shaders.h.

◆ vsmAllocPages

Tempest::ComputePipeline Shaders::vsmAllocPages

Definition at line 89 of file shaders.h.

◆ vsmClear

Tempest::ComputePipeline Shaders::vsmClear

Definition at line 88 of file shaders.h.

◆ vsmClearOmni

Tempest::ComputePipeline Shaders::vsmClearOmni

Definition at line 88 of file shaders.h.

◆ vsmClumpPages

Tempest::ComputePipeline Shaders::vsmClumpPages

Definition at line 89 of file shaders.h.

◆ vsmCullLights

Tempest::ComputePipeline Shaders::vsmCullLights

Definition at line 88 of file shaders.h.

◆ vsmDbg

Tempest::RenderPipeline Shaders::vsmDbg

Definition at line 94 of file shaders.h.

◆ vsmDirectLight

Tempest::RenderPipeline Shaders::vsmDirectLight

Definition at line 93 of file shaders.h.

◆ vsmFog

Tempest::RenderPipeline Shaders::vsmFog

Definition at line 92 of file shaders.h.

◆ vsmFogPages

Tempest::ComputePipeline Shaders::vsmFogPages

Definition at line 91 of file shaders.h.

◆ vsmFogShadow

Tempest::ComputePipeline Shaders::vsmFogShadow

Definition at line 91 of file shaders.h.

◆ vsmFogTrace

Tempest::ComputePipeline Shaders::vsmFogTrace

Definition at line 91 of file shaders.h.

◆ vsmListPages

Tempest::ComputePipeline Shaders::vsmListPages

Definition at line 89 of file shaders.h.

◆ vsmMarkOmniPages

Tempest::ComputePipeline Shaders::vsmMarkOmniPages

Definition at line 88 of file shaders.h.

◆ vsmMarkPages

Tempest::ComputePipeline Shaders::vsmMarkPages

Definition at line 88 of file shaders.h.

◆ vsmMergePages

Tempest::ComputePipeline Shaders::vsmMergePages

Definition at line 89 of file shaders.h.

◆ vsmPackDraw0

Tempest::ComputePipeline Shaders::vsmPackDraw0

Definition at line 90 of file shaders.h.

◆ vsmPackDraw1

Tempest::ComputePipeline Shaders::vsmPackDraw1

Definition at line 90 of file shaders.h.

◆ vsmPostprocessOmni

Tempest::ComputePipeline Shaders::vsmPostprocessOmni

Definition at line 88 of file shaders.h.

◆ vsmRendering

Tempest::ComputePipeline Shaders::vsmRendering

Definition at line 96 of file shaders.h.

◆ vsmSortPages

Tempest::ComputePipeline Shaders::vsmSortPages

Definition at line 89 of file shaders.h.

◆ vsmTrimPages

Tempest::ComputePipeline Shaders::vsmTrimPages

Definition at line 89 of file shaders.h.

◆ vsmVisibilityPass

Tempest::ComputePipeline Shaders::vsmVisibilityPass

Definition at line 87 of file shaders.h.

◆ waterReflection

Tempest::RenderPipeline Shaders::waterReflection

Definition at line 59 of file shaders.h.

◆ waterReflectionSSR

Tempest::RenderPipeline Shaders::waterReflectionSSR

Definition at line 59 of file shaders.h.


The documentation for this class was generated from the following files: