svvitch
digital signage player
|
00001 #pragma once 00002 00003 #include "Scene.h" 00004 #include "streams.h" 00005 //#include "DetectStatus.h" 00006 #include <Poco/Mutex.h> 00007 #include "FPSCounter.h" 00008 00009 00014 class DiffDetectScene: public Scene 00015 { 00016 private: 00017 Poco::FastMutex _lock; 00018 00019 int _w; 00020 int _h; 00021 00022 int _previewX; 00023 int _previewY; 00024 int _previewW; 00025 int _previewH; 00026 00027 DWORD _frame; 00028 int _samples; 00029 00030 LPDIRECT3DTEXTURE9 _frame1; 00031 LPDIRECT3DTEXTURE9 _frame2; 00032 LPDIRECT3DTEXTURE9 _frame3; 00033 LPDIRECT3DTEXTURE9 _result1; 00034 LPDIRECT3DTEXTURE9 _result2; 00035 LPD3DXEFFECT _fx; 00036 00037 00038 void drawAverage(VERTEX* dst, DWORD& col); 00039 00040 void drawEdge(VERTEX* dst, DWORD& col); 00041 00042 void drawDiff(VERTEX* dst, DWORD& col); 00043 00044 public: 00045 DiffDetectScene(Renderer& renderer); 00046 00047 virtual ‾DiffDetectScene(); 00048 00049 virtual bool initialize(); 00050 00051 LPDIRECT3DTEXTURE9 getResult(); 00052 00053 virtual void process(); 00054 00055 virtual void draw1(); 00056 00057 virtual void draw2(); 00058 }; 00059 00060 typedef DiffDetectScene* DiffDetectScenePtr;