gml_GL_Program.h

00001 // gml_GL_Program.h --
00002 //
00003 //    Define the gmlGL_TProgram class.
00004 //
00005 //  Copyright (c) 2006 CLIPS-IMAG
00006 //
00007 //  See the file "gml_LicenseTerms.txt" for information on usage and redistribution
00008 //  of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00009 //
00010 
00011 #ifndef __GML_GL_PROGRAM__
00012 #define __GML_GL_PROGRAM__
00013 
00014 // project includes
00015 #include "gml/base/gml_Types.h"
00016 #include "gml/image/gml_Bitmap.h"
00017 #include "gml/image/gml_Geometry.h"
00018 #include "gml/gl/gml_GL_Base.h"
00019 #include "gml/gl/gml_GL_Texture.h"
00020 
00021 
00022 /**
00023  *  gmlGL_TProgram --
00024  *
00025  *    Programs to be run on the GPU.
00026  *    Warning: all calls may change the current GL context to the super context.
00027  *
00028  */
00029 class gmlGL_TProgram
00030 {
00031 public:
00032 
00033 
00034   /// Init --
00035 
00036   virtual gml_TError Init () = 0;
00037   
00038 
00039   /// Dispose --
00040 
00041   virtual void Dispose () = 0;
00042 
00043 
00044   /// Compile --
00045 
00046   virtual gml_TError Compile (char* program, int* loglen, char** log) = 0;
00047   
00048   
00049   /// Configure --
00050 
00051   virtual gml_TError Configure (char* parameter, int stride, int nbdata, Float32* data) = 0;
00052   
00053   
00054   /// Run --
00055 
00056   virtual gml_TError Run (gmlGL_TTexture* output, int nbinput, gmlGL_TTexture** inputs) = 0;
00057   
00058   
00059   virtual ~gmlGL_TProgram () {};
00060 };
00061 
00062 #endif /* __GML_GL_PROGRAM__ */
Generated on Tue Jun 12 14:03:27 2007 for gml by Doxygen 1.5.2.