Fin du TP convolution. (Constant memory + Texture).
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 06_Convolution / ImageConvolutionCuda.cpp
1 #include "ImageConvolutionCuda.h"
2
3 /**
4 * 'captureur' est supprimé par le destructeur de cette classe.
5 */
6 ImageConvolutionCuda::ImageConvolutionCuda(Animable_I* ptrAnimable, CaptureVideo* captureur, ColorRGB_01* ptrColorTitreRGB) :
7 Image(ptrAnimable, ptrColorTitreRGB),
8 captureur(captureur)
9 {
10 }
11
12 ImageConvolutionCuda::~ImageConvolutionCuda()
13 {
14 delete this->captureur;
15 }
16
17 void ImageConvolutionCuda::fillImageGL(uchar4* ptrDevImageGL, int w, int h)
18 {
19 Mat matImage = this->captureur->capturer(); // Capture l'image suivante.
20 uchar4* image = CaptureVideo::castToUChar4(&matImage); // format cuda
21 HANDLE_ERROR(cudaMemcpy(ptrDevImageGL, image, sizeof(uchar4) * this->ptrAnimable->getW() * this->ptrAnimable->getH(), cudaMemcpyHostToDevice));
22
23 Image::fillImageGL(ptrDevImageGL, w, h);
24 }