![]() |
OpenCV
3.4.4
Open Source Computer Vision
|
Smart pointer for OpenGL 2D texture memory with reference counting. More...
#include "opengl.hpp"
Public Types | |
| enum | Format { NONE = 0, DEPTH_COMPONENT = 0x1902, RGB = 0x1907, RGBA = 0x1908 } |
| An Image Format describes the way that the images in Textures store their data. More... | |
Public Member Functions | |
| 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.
| cv::ogl::Texture2D::Texture2D | ( | ) |
The constructors.
Creates empty ogl::Texture2D object, allocates memory for ogl::Texture2D object or copies from host/device memory.
| 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.
| 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.
| 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.
| 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). |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| 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). |
|
explicit |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| 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). |
| void cv::ogl::Texture2D::bind | ( | ) | const |
Binds texture to current active texture unit for GL_TEXTURE_2D target.
| int cv::ogl::Texture2D::cols | ( | ) | const |
| void cv::ogl::Texture2D::copyFrom | ( | InputArray | arr, |
| bool | autoRelease = false |
||
| ) |
Copies from host/device memory to OpenGL texture.
| 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). |
| 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.
| 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). |
| void cv::ogl::Texture2D::create | ( | int | arows, |
| int | acols, | ||
| Format | aformat, | ||
| bool | autoRelease = false |
||
| ) |
Allocates memory for ogl::Texture2D object.
| 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). |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| 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). |
| bool cv::ogl::Texture2D::empty | ( | ) | const |
| Format cv::ogl::Texture2D::format | ( | ) | const |
| void cv::ogl::Texture2D::release | ( | ) |
Decrements the reference counter and destroys the texture object if needed.
The function will call setAutoRelease(true) .
| int cv::ogl::Texture2D::rows | ( | ) | const |
| void cv::ogl::Texture2D::setAutoRelease | ( | bool | flag | ) |
Sets auto release mode.
| 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 cv::ogl::Texture2D::size | ( | ) | const |
| unsigned int cv::ogl::Texture2D::texId | ( | ) | const |
get OpenGL opject id
1.8.13