Smart pointer for OpenGL 2D texture memory with reference counting.  
 More...
#include <opencv2/core/opengl.hpp>
|  | 
|  | Texture2D () | 
|  | The constructors.  More... 
 | 
|  | 
|  | Texture2D (int arows, int acols, Format aformat, unsigned int atexId, bool autoRelease=false) | 
|  | 
|  | Texture2D (Size asize, Format aformat, unsigned int atexId, bool autoRelease=false) | 
|  | 
|  | Texture2D (int arows, int acols, Format aformat, bool autoRelease=false) | 
|  | 
|  | Texture2D (Size asize, Format aformat, bool autoRelease=false) | 
|  | 
|  | Texture2D (InputArray arr, bool autoRelease=false) | 
|  | 
| void | bind () const | 
|  | Binds texture to current active texture unit for GL_TEXTURE_2D target.  More... 
 | 
|  | 
| int | cols () const | 
|  | 
| void | copyFrom (InputArray arr, bool autoRelease=false) | 
|  | Copies from host/device memory to OpenGL texture.  More... 
 | 
|  | 
| void | copyTo (OutputArray arr, int ddepth=CV_32F, bool autoRelease=false) const | 
|  | Copies from OpenGL texture to host/device memory or another OpenGL texture object.  More... 
 | 
|  | 
| void | create (int arows, int acols, Format aformat, bool autoRelease=false) | 
|  | Allocates memory for ogl::Texture2D object.  More... 
 | 
|  | 
| void | create (Size asize, Format aformat, bool autoRelease=false) | 
|  | 
| bool | empty () const | 
|  | 
| Format | format () const | 
|  | 
| void | release () | 
|  | Decrements the reference counter and destroys the texture object if needed.  More... 
 | 
|  | 
| int | rows () const | 
|  | 
| void | setAutoRelease (bool flag) | 
|  | Sets auto release mode.  More... 
 | 
|  | 
| Size | size () const | 
|  | 
| unsigned int | texId () const | 
|  | get OpenGL opject id  More... 
 | 
|  | 
Smart pointer for OpenGL 2D texture memory with reference counting. 
◆ Format
An Image Format describes the way that the images in Textures store their data. 
| Enumerator | 
|---|
| NONE |  | 
| DEPTH_COMPONENT | Depth.  | 
| RGB | Red, Green, Blue.  | 
| RGBA | Red, Green, Blue, Alpha.  | 
 
 
◆ Texture2D() [1/6]
      
        
          | cv::ogl::Texture2D::Texture2D | ( |  | ) |  | 
      
 
 
◆ Texture2D() [2/6]
      
        
          | cv::ogl::Texture2D::Texture2D | ( | int | arows, | 
        
          |  |  | int | acols, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | unsigned int | atexId, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
 
 
◆ Texture2D() [3/6]
      
        
          | cv::ogl::Texture2D::Texture2D | ( | Size | asize, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | unsigned int | atexId, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
 
 
◆ Texture2D() [4/6]
      
        
          | cv::ogl::Texture2D::Texture2D | ( | int | arows, | 
        
          |  |  | int | acols, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
- Parameters
- 
  
    | arows | Number of rows. |  | acols | Number of columns. |  | aformat | Image format. See cv::ogl::Texture2D::Format . |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ Texture2D() [5/6]
      
        
          | cv::ogl::Texture2D::Texture2D | ( | Size | asize, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
- Parameters
- 
  
    | asize | 2D array size. |  | aformat | Image format. See cv::ogl::Texture2D::Format . |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ Texture2D() [6/6]
  
  | 
        
          | cv::ogl::Texture2D::Texture2D | ( | InputArray | arr, |  
          |  |  | bool | autoRelease = false |  
          |  | ) |  |  |  | explicit | 
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
- Parameters
- 
  
    | arr | Input array (host or device memory, it can be Mat , cuda::GpuMat or ogl::Buffer ). |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ bind()
      
        
          | void cv::ogl::Texture2D::bind | ( |  | ) | const | 
      
 
Binds texture to current active texture unit for GL_TEXTURE_2D target. 
 
 
◆ cols()
      
        
          | int cv::ogl::Texture2D::cols | ( |  | ) | const | 
      
 
 
◆ copyFrom()
      
        
          | void cv::ogl::Texture2D::copyFrom | ( | InputArray | arr, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
Copies from host/device memory to OpenGL texture. 
- Parameters
- 
  
    | arr | Input array (host or device memory, it can be Mat , cuda::GpuMat or ogl::Buffer ). |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ copyTo()
      
        
          | void cv::ogl::Texture2D::copyTo | ( | OutputArray | arr, | 
        
          |  |  | int | ddepth = CV_32F, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  | const | 
      
 
Copies from OpenGL texture to host/device memory or another OpenGL texture object. 
- Parameters
- 
  
    | arr | Destination array (host or device memory, can be Mat , cuda::GpuMat , ogl::Buffer or ogl::Texture2D ). |  | ddepth | Destination depth. |  | autoRelease | Auto release mode for destination buffer (if arr is OpenGL buffer or texture). |  
 
 
 
◆ create() [1/2]
      
        
          | void cv::ogl::Texture2D::create | ( | int | arows, | 
        
          |  |  | int | acols, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
Allocates memory for ogl::Texture2D object. 
- Parameters
- 
  
    | arows | Number of rows. |  | acols | Number of columns. |  | aformat | Image format. See cv::ogl::Texture2D::Format . |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ create() [2/2]
      
        
          | void cv::ogl::Texture2D::create | ( | Size | asize, | 
        
          |  |  | Format | aformat, | 
        
          |  |  | bool | autoRelease = false | 
        
          |  | ) |  |  | 
      
 
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
- Parameters
- 
  
    | asize | 2D array size. |  | aformat | Image format. See cv::ogl::Texture2D::Format . |  | autoRelease | Auto release mode (if true, release will be called in object's destructor). |  
 
 
 
◆ empty()
      
        
          | bool cv::ogl::Texture2D::empty | ( |  | ) | const | 
      
 
 
◆ format()
      
        
          | Format cv::ogl::Texture2D::format | ( |  | ) | const | 
      
 
 
◆ release()
      
        
          | void cv::ogl::Texture2D::release | ( |  | ) |  | 
      
 
Decrements the reference counter and destroys the texture object if needed. 
The function will call setAutoRelease(true) . 
 
 
◆ rows()
      
        
          | int cv::ogl::Texture2D::rows | ( |  | ) | const | 
      
 
 
◆ setAutoRelease()
      
        
          | void cv::ogl::Texture2D::setAutoRelease | ( | bool | flag | ) |  | 
      
 
Sets auto release mode. 
- Parameters
- 
  
    | flag | Auto release mode (if true, release will be called in object's destructor). |  
 
The lifetime of the OpenGL object is tied to the lifetime of the context. If OpenGL context was bound to a window it could be released at any time (user can close a window). If object's destructor is called after destruction of the context it will cause an error. Thus ogl::Texture2D doesn't destroy OpenGL object in destructor by default (all OpenGL resources will be released with OpenGL context). This function can force ogl::Texture2D destructor to destroy OpenGL object. 
 
 
◆ size()
      
        
          | Size cv::ogl::Texture2D::size | ( |  | ) | const | 
      
 
 
◆ texId()
      
        
          | unsigned int cv::ogl::Texture2D::texId | ( |  | ) | const | 
      
 
 
The documentation for this class was generated from the following file: