00001
00002
00003 #ifndef _VU_VOLUME_LIGHTFIELD_UNIMODAL_SPHERIC_FBR_H_
00004 #define _VU_VOLUME_LIGHTFIELD_UNIMODAL_SPHERIC_FBR_H_
00005
00006 #include "../IBR/ibr.h"
00007 #include <fftw.h>
00008
00009 template <int SIZE, class TYPE>
00010 class vu1611_4 : public vu1611_2<SIZE,TYPE>
00011 {
00012 public:
00013 vu1611_4();
00014
00015 ~vu1611_4();
00016
00018 virtual void render();
00019
00021 virtual bool read(void);
00022
00023 protected:
00024 using vu1611_2<SIZE,TYPE>::m_ViewFilter;
00025 using vu1611_2<SIZE,TYPE>::m_Camera;
00026 using vu1611_2<SIZE,TYPE>::m_width;
00027 using vu1611_2<SIZE,TYPE>::m_height;
00029 vuFixelMap<SIZE,TYPE> *m_Map;
00030 fftwnd_plan m_Plan;
00031 bool m_PlanExists;
00032
00033 void _initPlanAndMap();
00034 };
00035
00036
00037
00038 template class vu1611_4<1,byte>;
00039 template class vu1611_4<2,byte>;
00040 template class vu1611_4<3,byte>;
00041 template class vu1611_4<1,float>;
00042 template class vu1611_4<2,float>;
00043 template class vu1611_4<3,float>;
00044
00045
00046 typedef vu1611_4<1,byte> vu161114;
00047 typedef vu1611_4<2,byte> vu161124;
00048 typedef vu1611_4<3,byte> vu161134;
00049 typedef vu1611_4<1,float> vu1611A4;
00050 typedef vu1611_4<2,float> vu1611B4;
00051 typedef vu1611_4<3,float> vu1611C4;
00052
00053
00054 typedef vu161114 vuVolumeLightfieldUnimodalSpheric1Bfbr;
00055 typedef vu161124 vuVolumeLightfieldUnimodalSpheric2Bfbr;
00056 typedef vu161134 vuVolumeLightfieldUnimodalSpheric3Bfbr;
00057 typedef vu1611A4 vuVolumeLightfieldUnimodalSpheric1Ffbr;
00058 typedef vu1611B4 vuVolumeLightfieldUnimodalSpheric2Ffbr;
00059 typedef vu1611C4 vuVolumeLightfieldUnimodalSpheric3Ffbr;
00060
00061
00062 #endif