00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __mitkCUDAVRImage_h
00011 #define __mitkCUDAVRImage_h
00012
00013 #include "mitkCUDAVolumeRenderingIncludes.h"
00014
00015 class mitkVRImage;
00016 struct cudaGraphicsResource;
00017
00018 class MITK_CUDA_VOLUME_RENDERING_API mitkCUDAVRImage
00019 {
00020 public:
00021 int m_Size[2];
00022 int m_Origin[2];
00023 unsigned m_pbo;
00024 cudaGraphicsResource *m_pbo_cuda;
00025 float *m_d_ImageData;
00026
00027 mitkCUDAVRImage();
00028 ~mitkCUDAVRImage();
00029
00030 void Allocate();
00031 void PrepareForCUDAOP();
00032 void ClearAfterCUDAOP();
00033
00034 void Render() const;
00035 void CopyToCPU(mitkVRImage* image) const;
00036
00037 };
00038
00039 #endif
00040