18 #ifndef INCLUDED_POSTPROCMANAGER 19 #define INCLUDED_POSTPROCMANAGER 97 std::unique_ptr<Renderer::Backend::IFramebuffer>
113 std::unique_ptr<Renderer::Backend::ITexture>
texture;
137 std::unique_ptr<Renderer::Backend::ITexture>
158 int inWidth,
int inHeight);
169 int inWidth,
int inHeight);
187 #endif // INCLUDED_POSTPROCMANAGER void ApplyBlurGauss(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::ITexture *inTex, Renderer::Backend::ITexture *tempTex, Renderer::Backend::IFramebuffer *tempFramebuffer, Renderer::Backend::IFramebuffer *outFramebuffer, int inWidth, int inHeight)
Definition: PostprocManager.cpp:310
void UpdateAntiAliasingTechnique()
Definition: PostprocManager.cpp:542
void BlitOutputFramebuffer(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IFramebuffer *destination)
Definition: PostprocManager.cpp:399
std::unique_ptr< Renderer::Backend::IFramebuffer > m_PongFramebuffer
Definition: PostprocManager.h:98
std::unique_ptr< Renderer::Backend::ITexture > m_ColorTex1
Definition: PostprocManager.h:101
bool IsEnabled() const
Definition: PostprocManager.cpp:96
CShaderTechniquePtr m_PostProcTech
Definition: PostprocManager.h:127
Definition: ITexture.h:33
std::unique_ptr< Renderer::Backend::IFramebuffer > m_CaptureFramebuffer
Definition: PostprocManager.h:94
void ResolveMultisampleFramebuffer(Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
Definition: PostprocManager.cpp:686
std::unique_ptr< Renderer::Backend::ITexture > m_DepthTex
Definition: PostprocManager.h:104
std::vector< uint32_t > m_AllowedSampleCounts
Definition: PostprocManager.h:140
Definition: PostprocManager.h:108
const CStrW & GetPostEffect() const
Definition: PostprocManager.h:51
void Initialize()
Definition: PostprocManager.cpp:133
std::unique_ptr< Renderer::Backend::ITexture > texture
Definition: PostprocManager.h:113
CStr m_SharpName
Definition: PostprocManager.h:129
bool m_IsInitialized
Definition: PostprocManager.h:146
static std::vector< CStrW > GetPostEffects()
Definition: PostprocManager.cpp:506
void ApplyPostproc(Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
Definition: PostprocManager.cpp:467
std::unique_ptr< Renderer::Backend::IFramebuffer > m_MultisampleFramebuffer
Definition: PostprocManager.h:136
float m_NearPlane
Definition: PostprocManager.h:105
bool IsMultisampleEnabled() const
Definition: PostprocManager.cpp:681
uint32_t m_MultisampleCount
Definition: PostprocManager.h:139
CPostprocManager()
Definition: PostprocManager.cpp:85
void ApplyEffect(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, const CShaderTechniquePtr &shaderTech, int pass)
Definition: PostprocManager.cpp:412
std::unique_ptr< Renderer::Backend::IFramebuffer > framebuffer
Definition: PostprocManager.h:112
std::unique_ptr< Renderer::Backend::ITexture > m_MultisampleDepthTex
Definition: PostprocManager.h:138
Renderer::Backend::IFramebuffer * PrepareAndGetOutputFramebuffer()
Definition: PostprocManager.cpp:388
int m_Width
Definition: PostprocManager.h:143
int m_Height
Definition: PostprocManager.h:143
void UpdateSharpeningTechnique()
Definition: PostprocManager.cpp:593
void Resize()
Definition: PostprocManager.cpp:171
std::unique_ptr< Renderer::Backend::IFramebuffer > m_PingFramebuffer
Definition: PostprocManager.h:98
float m_Sharpness
Definition: PostprocManager.h:131
std::array< BlurScale, 3 > m_BlurScales
Definition: PostprocManager.h:117
bool m_WhichBuffer
Definition: PostprocManager.h:120
void CreateMultisampleBuffer()
Definition: PostprocManager.cpp:622
void UpdateSharpnessFactor()
Definition: PostprocManager.cpp:611
float m_FarPlane
Definition: PostprocManager.h:105
void ApplyBlur(Renderer::Backend::IDeviceCommandContext *deviceCommandContext)
Definition: PostprocManager.cpp:370
unsigned int uint32_t
Definition: wposix_types.h:53
bool m_UsingMultisampleBuffer
Definition: PostprocManager.h:135
void SetDepthBufferClipPlanes(float nearPlane, float farPlane)
Definition: PostprocManager.cpp:616
~CPostprocManager()
Definition: PostprocManager.cpp:91
Definition: PostprocManager.h:31
std::unique_ptr< Renderer::Backend::ITexture > m_MultisampleColorTex
Definition: PostprocManager.h:138
std::shared_ptr< CShaderTechnique > CShaderTechniquePtr
Definition: ShaderTechniquePtr.h:27
CShaderTechniquePtr m_AATech
Definition: PostprocManager.h:134
Renderer::Backend::IVertexInputLayout * m_VertexInputLayout
Definition: PostprocManager.h:122
void RecreateBuffers()
Definition: PostprocManager.cpp:181
void SetPostEffect(const CStrW &name)
Definition: PostprocManager.cpp:528
void Cleanup()
Definition: PostprocManager.cpp:109
Definition: IDeviceCommandContext.h:40
IFramebuffer stores attachments which should be used by backend as rendering destinations.
Definition: IFramebuffer.h:84
void ApplyBlurDownscale2x(Renderer::Backend::IDeviceCommandContext *deviceCommandContext, Renderer::Backend::IFramebuffer *framebuffer, Renderer::Backend::ITexture *inTex, int inWidth, int inHeight)
Definition: PostprocManager.cpp:279
std::array< Step, 2 > steps
Definition: PostprocManager.h:115
std::unique_ptr< Renderer::Backend::ITexture > m_ColorTex2
Definition: PostprocManager.h:101
CStr m_AAName
Definition: PostprocManager.h:133
void DestroyMultisampleBuffer()
Definition: PostprocManager.cpp:672
Definition: PostprocManager.h:110
CStrW m_PostProcEffect
Definition: PostprocManager.h:126
CShaderTechniquePtr m_SharpTech
Definition: PostprocManager.h:130