2017-10-01 18:51:02 +02:00
|
|
|
#pragma once
|
2017-10-02 09:40:36 +02:00
|
|
|
#include "rendertarget.hh"
|
2017-10-04 17:37:55 +02:00
|
|
|
#include "shaders.hh"
|
2017-10-01 18:51:02 +02:00
|
|
|
|
|
|
|
|
2017-10-07 19:10:47 +02:00
|
|
|
struct T_SyncData;
|
|
|
|
|
|
|
|
|
2017-10-01 18:51:02 +02:00
|
|
|
struct T_DoFPass
|
|
|
|
{
|
|
|
|
T_DoFPass( ) = delete;
|
|
|
|
T_DoFPass( T_DoFPass const& ) = delete;
|
|
|
|
T_DoFPass( T_DoFPass&& ) = delete;
|
|
|
|
|
2017-10-04 11:20:27 +02:00
|
|
|
T_DoFPass( __rw__ T_Texture& imageInput ,
|
2017-10-01 18:51:02 +02:00
|
|
|
__rw__ T_Texture& depthInput );
|
|
|
|
|
2017-10-07 19:10:47 +02:00
|
|
|
void render(
|
|
|
|
__rd__ const float position ,
|
|
|
|
__rd__ T_SyncData const& sync );
|
2017-10-01 18:51:02 +02:00
|
|
|
void makeUI( );
|
|
|
|
|
|
|
|
T_Texture& output( ) { return txOutput_; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
T_Texture& imageInput_;
|
|
|
|
T_Texture& depthInput_;
|
|
|
|
|
2017-10-04 17:37:55 +02:00
|
|
|
T_ShaderPipeline spPass1_;
|
|
|
|
T_ShaderPipeline spPass2_;
|
2017-10-01 18:51:02 +02:00
|
|
|
|
|
|
|
T_Texture txPass1_ , txOutput_;
|
|
|
|
T_Rendertarget rtPass1_ , rtPass2_;
|
|
|
|
|
|
|
|
// SharpDist/SharpRange/Falloff/MaxBlur
|
|
|
|
float filterParams_[ 4 ];
|
|
|
|
int nSamples_;
|
|
|
|
};
|
|
|
|
|