OpenVideo Documentation

   Main Page       Modules       Class Hierarchy       Alphabetical List       Compound List       File List       Compound Members       Related Pages   

GL_TEXTURE_2D_Sink.h

Go to the documentation of this file.
00001 /* ========================================================================
00002  * Copyright (C) 2005  Graz University of Technology
00003  *
00004  * This framework is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 2 of the License, or
00007  * (at your option) any later version.
00008  *
00009  * This framework is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this framework; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  *
00018  * For further information please contact Denis Kalkofen under
00019  * <kalkofen@icg.tu-graz.ac.at> or write to Denis Kalkofen,
00020  * Graz University of Technology, Inffeldgasse 16a, A8010 Graz,
00021  * Austria.
00022  * ========================================================================
00023  * PROJECT: OpenVideo
00024  * ======================================================================== */
00031  /* ======================================================================= */
00032 #ifndef _GL_TEXTURE_2D_SINK_H
00033 #define _GL_TEXTURE_2D_SINK_H
00034 #include <openvideo/openVideo.h>
00035 #ifdef  ENABLE_GL_TEXTURE_2D_SINK
00036 
00037 #include <openvideo/Node.h>
00038 class ACE_Mutex;
00039 
00040 namespace openvideo {
00054 class OPENVIDEO_API GL_TEXTURE_2D_Sink : 
00055     public openvideo::Node
00056 {
00057 public:
00061     GL_TEXTURE_2D_Sink();
00062 
00066     ~GL_TEXTURE_2D_Sink();
00067 
00071     virtual void init();
00072 
00076     virtual void process();
00077 
00081     void acquire();
00082 
00086     void release();
00087 
00092     float t_u0, t_u1,t_v0, t_v1;
00093     
00097     unsigned int get_video_texture_id();
00098 
00102     bool isStarted;
00103 
00104     virtual void initPixelFormats();
00105 protected:
00109     ACE_Mutex* mutex;
00110 
00111     bool doubleBufferFlag;
00112 
00113     int buffer;
00114 
00115     unsigned int video_texture_id[1];
00119     int width,height;
00120 
00124     int format;
00125 
00129     int internalFormat;
00130 
00134     bool flip_h, flip_v;
00135 
00139     enum {TEXTURE_WIDTH = 1024, TEXTURE_HEIGHT = 1024};
00140 };
00141 
00142 } //namespace openvideo {
00143 
00144 #endif // ENABLE_GL_TEXTURE_2D_SINK
00145 
00146 #endif
 This page was generated at Wed May 31 13:04:16 2006 for OpenVideo by Doxygen.
 If you have any comments, please send a message to schmalstieg@icg.tu-graz.ac.at.
www.studierstube.org