00001
00002
00003
00004
00005 #ifndef EQ_PLY_CHANNEL_H
00006 #define EQ_PLY_CHANNEL_H
00007
00008 #include "eqPly.h"
00009 #include "frameData.h"
00010
00011 #include <eq/eq.h>
00012
00013
00014 namespace eqPly
00015 {
00016 class FrameData;
00017 class InitData;
00018
00019 class Channel : public eq::Channel
00020 {
00021 public:
00022 Channel( eq::Window* parent ) : eq::Channel( parent ) {}
00023
00024 protected:
00025 virtual ~Channel() {}
00026
00027 virtual bool configInit( const uint32_t initID );
00028 virtual void frameDraw( const uint32_t frameID );
00029 virtual void frameAssemble( const uint32_t frameID );
00030
00032 virtual void applyFrustum() const;
00033
00034 private:
00035 void _drawModel( const Model* model );
00036 void _drawLogo();
00037 void _initFrustum( vmml::FrustumCullerf& frustum,
00038 const vmml::Vector4f& boundingSphere );
00039
00040 const FrameData::Data& _getFrameData() const;
00041 };
00042 }
00043
00044
00045
00046 #endif // EQ_PLY_CHANNEL_H
00047