X-Git-Url: http://git.euphorik.ch/?p=GPU.git;a=blobdiff_plain;f=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F06_Convolution%2FImageConvolutionCuda.cpp;fp=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F06_Convolution%2FImageConvolutionCuda.cpp;h=ffc30a175a2584a72e715e5b13262960b9b2093d;hp=0000000000000000000000000000000000000000;hb=4182eb3a07b7143afb8ebebfe77e8ef8e8abc266;hpb=fd0031be0a39a5d902750affaff6322fcd5229b1 diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/06_Convolution/ImageConvolutionCuda.cpp b/WCudaMSE/Student_Cuda_Image/src/cpp/core/06_Convolution/ImageConvolutionCuda.cpp new file mode 100644 index 0000000..ffc30a1 --- /dev/null +++ b/WCudaMSE/Student_Cuda_Image/src/cpp/core/06_Convolution/ImageConvolutionCuda.cpp @@ -0,0 +1,22 @@ +#include "ImageConvolutionCuda.h" + +ImageConvolutionCuda::ImageConvolutionCuda(Animable_I* ptrAnimable, CaptureVideo* captureur, ColorRGB_01* ptrColorTitreRGB) : + Image(ptrAnimable, ptrColorTitreRGB), + captureur(captureur) + { + + //Mat matImage = captureur.capturer(); // capture une image seulement ( à utiliser en boucle!) + //uchar4* image = CaptureVideo::castToUChar4(&matImage); // format cuda + } + +ImageConvolutionCuda::~ImageConvolutionCuda() + { + delete this->captureur; + } + +void ImageConvolutionCuda::fillImageGL(uchar4* ptrDevImageGL, int w, int h) + { + Mat matImage = this->captureur->capturer(); // capture une image seulement ( à utiliser en boucle!) + uchar4* image = CaptureVideo::castToUChar4(&matImage); // format cuda + HANDLE_ERROR(cudaMemcpy(ptrDevImageGL, image, sizeof(uchar4) * this->ptrAnimable->getW() * this->ptrAnimable->getH(), cudaMemcpyHostToDevice)); + }