Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::BloomPreRenderOperator Class Referencefinal

#include <BloomPreRenderOperator.h>

+ Inheritance diagram for Divide::BloomPreRenderOperator:

Public Member Functions

 BloomPreRenderOperator (GFXDevice &context, PreRenderBatch &parent)
 
 ~BloomPreRenderOperator () override
 
bool execute (PlayerIndex idx, const CameraSnapshot &cameraSnapshot, const RenderTargetHandle &input, const RenderTargetHandle &output, GFX::CommandBuffer &bufferInOut) override
 Return true if we rendered into "output".
 
void reshape (U16 width, U16 height) override
 
F32 luminanceBias () const noexcept
 
void luminanceBias (F32 val)
 
bool ready () const noexcept override
 
- Public Member Functions inherited from Divide::PreRenderOperator
 PreRenderOperator (GFXDevice &context, PreRenderBatch &parent, FilterType operatorType)
 
virtual ~PreRenderOperator ()=default
 
virtual bool execute (PlayerIndex idx, const CameraSnapshot &cameraSnapshot, const RenderTargetHandle &input, const RenderTargetHandle &output, GFX::CommandBuffer &bufferInOut)
 Return true if we rendered into "output".
 
virtual void reshape (U16 width, U16 height)
 
virtual void prepare (PlayerIndex idx, GFX::CommandBuffer &bufferInOut)
 
FilterType operatorType () const noexcept
 
virtual void onToggle (bool state)
 
virtual bool ready () const noexcept
 

Private Attributes

RenderTargetHandle _bloomOutput
 
RenderTargetHandle _bloomBlurBuffer [2]
 
Handle< ShaderProgram_bloomCalc { INVALID_HANDLE<ShaderProgram> }
 
Handle< ShaderProgram_bloomApply { INVALID_HANDLE<ShaderProgram> }
 
Pipeline_bloomCalcPipeline { nullptr }
 
Pipeline_bloomApplyPipeline { nullptr }
 
F32 _luminanceBias { 0.75f }
 

Additional Inherited Members

- Protected Attributes inherited from Divide::PreRenderOperator
GFXDevice_context
 
PreRenderBatch_parent
 
RTDrawDescriptor _screenOnlyDraw {}
 
FilterType _operatorType = FilterType::FILTER_COUNT
 
bool _enabled = true
 

Detailed Description

Definition at line 44 of file BloomPreRenderOperator.h.

Constructor & Destructor Documentation

◆ BloomPreRenderOperator()

Divide::BloomPreRenderOperator::BloomPreRenderOperator ( GFXDevice context,
PreRenderBatch parent 
)

Definition at line 24 of file BloomPreRenderOperator.cpp.

◆ ~BloomPreRenderOperator()

Divide::BloomPreRenderOperator::~BloomPreRenderOperator ( )
override

Definition at line 101 of file BloomPreRenderOperator.cpp.

Member Function Documentation

◆ execute()

bool Divide::BloomPreRenderOperator::execute ( PlayerIndex  idx,
const CameraSnapshot cameraSnapshot,
const RenderTargetHandle input,
const RenderTargetHandle output,
GFX::CommandBuffer bufferInOut 
)
overridevirtual

Return true if we rendered into "output".

Reimplemented from Divide::PreRenderOperator.

Definition at line 143 of file BloomPreRenderOperator.cpp.

◆ luminanceBias() [1/2]

F32 Divide::BloomPreRenderOperator::luminanceBias ( ) const
inlinenoexcept

Definition at line 52 of file BloomPreRenderOperator.h.

◆ luminanceBias() [2/2]

void Divide::BloomPreRenderOperator::luminanceBias ( F32  val)

Definition at line 135 of file BloomPreRenderOperator.cpp.

◆ ready()

bool Divide::BloomPreRenderOperator::ready ( ) const
overridevirtualnoexcept

Reimplemented from Divide::PreRenderOperator.

Definition at line 114 of file BloomPreRenderOperator.cpp.

◆ reshape()

void Divide::BloomPreRenderOperator::reshape ( U16  width,
U16  height 
)
overridevirtual

Reimplemented from Divide::PreRenderOperator.

Definition at line 124 of file BloomPreRenderOperator.cpp.

Member Data Documentation

◆ _bloomApply

Handle<ShaderProgram> Divide::BloomPreRenderOperator::_bloomApply { INVALID_HANDLE<ShaderProgram> }
private

Definition at line 62 of file BloomPreRenderOperator.h.

◆ _bloomApplyPipeline

Pipeline* Divide::BloomPreRenderOperator::_bloomApplyPipeline { nullptr }
private

Definition at line 65 of file BloomPreRenderOperator.h.

◆ _bloomBlurBuffer

RenderTargetHandle Divide::BloomPreRenderOperator::_bloomBlurBuffer[2]
private

Definition at line 59 of file BloomPreRenderOperator.h.

◆ _bloomCalc

Handle<ShaderProgram> Divide::BloomPreRenderOperator::_bloomCalc { INVALID_HANDLE<ShaderProgram> }
private

Definition at line 61 of file BloomPreRenderOperator.h.

◆ _bloomCalcPipeline

Pipeline* Divide::BloomPreRenderOperator::_bloomCalcPipeline { nullptr }
private

Definition at line 64 of file BloomPreRenderOperator.h.

◆ _bloomOutput

RenderTargetHandle Divide::BloomPreRenderOperator::_bloomOutput
private

Definition at line 58 of file BloomPreRenderOperator.h.

◆ _luminanceBias

F32 Divide::BloomPreRenderOperator::_luminanceBias { 0.75f }
private

Definition at line 67 of file BloomPreRenderOperator.h.


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