--- /dev/null
+#ifndef CUDA_INTEROP_TOOLS_H\r
+#define CUDA_INTEROP_TOOLS_H\r
+\r
+//#include "GLImageCudas.h" //include ImageCudas\r
+#include "envGLImageCudas.h"\r
+#ifdef _WIN32\r
+#include <glew.h>\r
+#else\r
+#include <GL/glew.h>\r
+#endif\r
+\r
+#include "cuda.h"\r
+#include "cuda_gl_interop.h" //link between GL and Cuda\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+CBI_GLIMAGE_CUDA void initCudaForGLInterop(int deviceId = 0);\r
+\r
+/**\r
+ * stream avec lequelle il synchronise\r
+ */\r
+CBI_GLIMAGE_CUDA cudaGraphicsResource* linkWithCuda(GLuint pboID, cudaStream_t stream = 0);\r
+\r
+/**\r
+ * stream avec lequelle il synchronise\r
+ */\r
+CBI_GLIMAGE_CUDA void unLinkWithCuda(cudaGraphicsResource* cudaRessource);\r
+\r
+/*\r
+ * Get Pixels from device to use with Cuda !\r
+ */\r
+CBI_GLIMAGE_CUDA void mapDevicePixels(cudaGraphicsResource* cudaRessource, uchar4** devPixels, size_t* size, cudaStream_t stream = 0);\r
+\r
+/**\r
+ * Tell to cuda that we finish with pixels\r
+ */\r
+CBI_GLIMAGE_CUDA void unMapDevicePixels(cudaGraphicsResource *cudaRessource, cudaStream_t stream = 0);\r
+\r
+CBI_GLIMAGE_CUDA void resetDevicePixel(cudaGraphicsResource* cudaRessource, cudaStream_t stream = 0);\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r
+\r