#pragma once #if 0 #include "raymarcher.hh" #include "dof.hh" #include "bloom.hh" #include "combine.hh" #include "fxaa.hh" #include "profiling.hh" #include "sync.hh" #endif #include "control.hh" struct T_Demo { T_Demo( ) = delete; NO_COPY( T_Demo ); NO_MOVE( T_Demo ); // --------------------------------------------------------------------- T_Demo( const uint32_t width , const uint32_t height ); bool initialise( ); void render( ); bool loadProgram( ); void runInit( ); void handleDND( ImVec2 const& move , const bool hasCtrl , const bool hasShift , const bool lmb // Left mouse button ); void handleWheel( const float wheel , const bool hasCtrl , const bool hasShift ); // --------------------------------------------------------------------- const uint32_t width; const uint32_t height; bool playing = false; T_OwnPtr< ops::T_OpProgram > program; T_OwnPtr< ops::T_OpContext > context; private: bool playingPrevious = false; float lastFrame; };