Download include/colmap/lib/SiftGPU/CuTexImage.h from camenduru/ceres-solver: direct link, hf CLI and curl.
- Browser
- Download file 2.3 kB
-
https://huggingface.co/camenduru/ceres-solver/resolve/main/include/colmap/lib/SiftGPU/CuTexImage.h
- Command line
-
hf download hf://camenduru/ceres-solver/include/colmap/lib/SiftGPU/CuTexImage.h
-
curl -L -o CuTexImage.h https://huggingface.co/camenduru/ceres-solver/resolve/main/include/colmap/lib/SiftGPU/CuTexImage.h
2.3 kB
| //////////////////////////////////////////////////////////////////////////// | |
| // File: CuTexImage.h | |
| // Author: Changchang Wu | |
| // Description : interface for the CuTexImage class. | |
| // class for storing data in CUDA. | |
| // | |
| // Copyright (c) 2007 University of North Carolina at Chapel Hill | |
| // All Rights Reserved | |
| // | |
| // Permission to use, copy, modify and distribute this software and its | |
| // documentation for educational, research and non-profit purposes, without | |
| // fee, and without a written agreement is hereby granted, provided that the | |
| // above copyright notice and the following paragraph appear in all copies. | |
| // | |
| // The University of North Carolina at Chapel Hill make no representations | |
| // about the suitability of this software for any purpose. It is provided | |
| // 'as is' without express or implied warranty. | |
| // | |
| // Please send BUG REPORTS to ccwu@cs.unc.edu | |
| // | |
| //////////////////////////////////////////////////////////////////////////// | |
| class GLTexImage; | |
| struct cudaArray; | |
| struct textureReference; | |
| //using texture2D from linear memory | |
| class CuTexImage | |
| { | |
| protected: | |
| void* _cuData; | |
| cudaArray* _cuData2D; | |
| int _numChannel; | |
| size_t _numBytes; | |
| int _imgWidth; | |
| int _imgHeight; | |
| int _texWidth; | |
| int _texHeight; | |
| GLuint _fromPBO; | |
| public: | |
| virtual void SetImageSize(int width, int height); | |
| virtual bool InitTexture(int width, int height, int nchannel = 1); | |
| void InitTexture2D(); | |
| inline void BindTexture(textureReference& texRef); | |
| inline void BindTexture2D(textureReference& texRef); | |
| void CopyToTexture2D(); | |
| void CopyToHost(void* buf); | |
| void CopyToHost(void* buf, int stream); | |
| void CopyFromHost(const void* buf); | |
| int CopyToPBO(GLuint pbo); | |
| void CopyFromPBO(int width, int height, GLuint pbo); | |
| static int DebugCopyToTexture2D(); | |
| public: | |
| inline int GetImgWidth(){return _imgWidth;} | |
| inline int GetImgHeight(){return _imgHeight;} | |
| inline int GetDataSize(){return _numBytes;} | |
| public: | |
| CuTexImage(); | |
| CuTexImage(int width, int height, int nchannel, GLuint pbo); | |
| virtual ~CuTexImage(); | |
| friend class ProgramCU; | |
| friend class PyramidCU; | |
| }; | |
| ////////////////////////////////////////////////// | |
| //transfer OpenGL Texture to PBO, then to CUDA vector | |
| //#endif | |