33#ifndef DVD_PRE_RENDER_BATCH_H_
34#define DVD_PRE_RENDER_BATCH_H_
74 "REINHARD",
"REINHARD_MODIFIED",
"GT",
"ACES",
"UNREAL_ACES",
"AMD_ACES",
"GT_DIFF_PARAMETERS",
"UNCHARTED_2",
"NONE"
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
RenderTargetHandle _sceneEdges
bool operatorsReady() const noexcept
RenderTargetHandle screenRT() const noexcept
PreRenderOperator * getOperator(FilterType type) const
void toneMapParams(ToneMapParams params) noexcept
RenderTargetHandle edgesRT() const noexcept
Handle< Texture > _currentLuminance
static FilterSpace GetOperatorSpace(const FilterType type) noexcept
void execute(PlayerIndex idx, const CameraSnapshot &cameraSnapshot, U32 filterStack, GFX::CommandBuffer &bufferInOut)
Handle< ShaderProgram > _lineariseDepthBuffer
std::array< OperatorBatch, to_base(FilterSpace::COUNT)> _operators
F32 _adaptiveExposureValue
Handle< ShaderProgram > _createHistogram
void prePass(PlayerIndex idx, const CameraSnapshot &cameraSnapshot, U32 filterStack, GFX::CommandBuffer &bufferInOut)
vector< PreRenderOperator_uptr > OperatorBatch
PostFX & parent() const noexcept
Pipeline * _pipelineToneMapAdaptive
bool _adaptiveExposureValueNeedsUpdate
Handle< Texture > luminanceTex() const noexcept
RenderTargetHandle _linearDepthRT
RenderTargetHandle getInput(bool hdr) const
Handle< ShaderProgram > _toneMap
void update(U64 deltaTimeUS) noexcept
std::array< Handle< ShaderProgram >, to_base(EdgeDetectionMethod::COUNT)> _edgeDetection
RenderTargetHandle getTarget(bool hdr, bool swapped) const noexcept
Handle< ShaderProgram > _toneMapAdaptive
void adaptiveExposureControl(bool state) noexcept
F32 adaptiveExposureValue() const noexcept
ShaderBuffer_uptr _histogramBuffer
void onFilterToggle(FilterType filter, bool state)
Handle< ShaderProgram > _averageHistogram
std::array< Pipeline *, to_base(EdgeDetectionMethod::COUNT)> _edgeDetectionPipelines
RenderTargetHandle getLinearDepthRT() const noexcept
Pipeline * _pipelineToneMap
RenderTargetHandle getOutput(bool hdr) const
Pipeline * _pipelineLumCalcHistogram
Pipeline * _pipelineLumCalcAverage
void reshape(U16 width, U16 height)
An API-independent representation of a texture.
static const char * toneMapFunctions[]
const char * ToneMapFunctionsToString(ToneMapParams::MapFunctions stop) noexcept
ToneMapParams::MapFunctions StringToToneMapFunctions(const string &name)
Handle console commands that start with a forward slash.
eastl::vector< Type > vector
@ FILTER_SPACE_HDR_POST_SS
@ FILTER_SS_AMBIENT_OCCLUSION
constexpr auto to_base(const Type value) -> Type
RenderTargetHandle _screenRef
RenderTargetHandle _screenCopy
RenderTargetHandle _temp[2]
F32 _manualExposureFactor