X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=WCudaMSE%2FAPI_Bilat_Image_GL_Cuda%2FINC%2Fgpu%2FImageMOOs_A_GPU.h;fp=WCudaMSE%2FAPI_Bilat_Image_GL_Cuda%2FINC%2Fgpu%2FImageMOOs_A_GPU.h;h=d97ee1ddf255b53bb87b9bf990f99a26a4ec86b0;hb=8d08c12b29c2a14684f35c023ee39e694bb80d25;hp=0000000000000000000000000000000000000000;hpb=226de81f7e1f1fbf4ac79d0d089e8a05ec7159a0;p=GPU.git diff --git a/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/ImageMOOs_A_GPU.h b/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/ImageMOOs_A_GPU.h new file mode 100755 index 0000000..d97ee1d --- /dev/null +++ b/WCudaMSE/API_Bilat_Image_GL_Cuda/INC/gpu/ImageMOOs_A_GPU.h @@ -0,0 +1,81 @@ +#ifndef IMAGE_CUDA_MOOS_A_H +#define IMAGE_CUDA_MOOS_A_H + +#include "builtin_types.h" //for cuda uchar4 + +#include "envGLImageCudas.h" +#include "ImageMOOs_I.h" + +/*----------------------------------------------------------------------*\ + |* Declaration *| + \*---------------------------------------------------------------------*/ + +/*--------------------------------------*\ + |* Public *| + \*-------------------------------------*/ + +namespace gpu + { + class CBI_GLIMAGE_CUDA ImageMOOs_A: public ImageMOOs_I + { + public: + + /*--------------------------------------*\ + |* Constructor *| + \*-------------------------------------*/ + + ImageMOOs_A(unsigned int w, unsigned int h); + + /*--------------------------------------*\ + |* Destructor *| + \*-------------------------------------*/ + + virtual ~ImageMOOs_A(); + + /*--------------------------------------*\ + |* Methodes *| + \*-------------------------------------*/ + + public: + + virtual void fillImageGL(uchar4* ptrDevImageGL, int w, int h)=0; //ptrDevImageGL zone memoire commune OpenGL et Cuda + + /** + * Override + * A redefinir par l'utilisateur + */ + virtual void animationStep(bool& isNeedUpdateView); + + /** + * Override + * A redefinir par l'utilisateur + */ + virtual void paintPrimitives(Graphic2Ds& ptrGraphic2D); + + /*--------------------------------------*\ + |* Get *| + \*-------------------------------------*/ + + public: + + /** + * Recuperation des pixels de l'image coter CPU + * call fillImageGL + * + * Instanciation : + * + * unsigned char* ptrTabPixel=new unsigned char[w*h] + * + * Pour liberer la memoire : + * + * delete[] ptrTabPixel; + */ + unsigned char* getPtrTabPixels(); + }; + } + +#endif + +/*----------------------------------------------------------------------*\ + |* End *| + \*---------------------------------------------------------------------*/