#pragma once #ifndef REAL_BUILD # define REAL_BUILD # include "externals.hh" # include "texture.hh" # include "rendertarget.hh" # include "programs.hh" # undef REAL_BUILD #endif struct T_DoFPass { T_DoFPass( ) = delete; T_DoFPass( T_DoFPass const& ) = delete; T_DoFPass( T_DoFPass&& ) = delete; T_DoFPass( __rw__ T_FilesWatcher& watcher , __rw__ T_Texture& imageInput , __rw__ T_Texture& depthInput ); void render( ); void makeUI( ); T_Texture& output( ) { return txOutput_; } private: T_Texture& imageInput_; T_Texture& depthInput_; T_ShaderProgram spPass1_; T_ShaderProgram spPass2_; T_Texture txPass1_ , txOutput_; T_Rendertarget rtPass1_ , rtPass2_; // SharpDist/SharpRange/Falloff/MaxBlur float filterParams_[ 4 ]; int nSamples_; };