Raytrix Light Field SDK
5.0
|
Provides methods for using OpenGL contexts and textures.
Inherits Rx::LFR::CPimpl< COpenGlInterop_Impl, Interfaces::EOpenGlInterop::ID >.
Public Member Functions | |
COpenGlInterop () | |
Default constructor. More... | |
COpenGlInterop (COpenGlInterop &&xOpenGlInterop) | |
Move constructor. More... | |
~COpenGlInterop () | |
Destructor. More... | |
void | CreateContextSharedWithCurrent () |
Creates an OpenGL context that is shared with the current OpenGL context. This requires a current OpenGL context. More... | |
void | DeleteStoredContext () |
Deletes the stored context (if it has been created by CreateContextSharedWithCurrent). More... | |
void | DestroyTexture (EImage::ID eImgID) |
Destroys the OpenGL texture of the image defined by the given ID. More... | |
void | DestroyTextures () |
Destroys all OpenGL textures. More... | |
COpenGlInterop_Impl & | GetImpl () |
Gets the non constant implementation. More... | |
const COpenGlInterop_Impl & | GetImpl () const |
Gets the constant implementation. More... | |
void * | GetInterface (Interfaces::EOpenGlInterop::ID eInterface) |
Gets the interface defined by the given interface ID. More... | |
TInterface * | GetInterface (Interfaces::EOpenGlInterop::ID eInterface) |
Gets the interface defined by the given interface ID. More... | |
const void * | GetInterface (Interfaces::EOpenGlInterop::ID eInterface) const |
Gets the interface defined by the given interface ID. More... | |
const TInterface * | GetInterface (Interfaces::EOpenGlInterop::ID eInterface) const |
Gets the interface defined by the given interface ID. More... | |
unsigned | GetTextureID (EImage::ID eImgID) const |
Gets the OpenGL texture ID of the image defined by the given ID. More... | |
bool | HasInterface (Interfaces::EOpenGlInterop::ID eInterface) |
Queries if this object has the given interface. More... | |
bool | HasStoredContext () const |
Query if this object has a valid OpenGL context stored. More... | |
bool | MakeStoredContextCurrent () const |
Makes the stored OpenGL rendering context the calling thread's current rendering context. More... | |
COpenGlInterop & | operator= (COpenGlInterop &&xOpenGlInterop) |
Move assignment operator. More... | |
void | ReleaseContext () const |
Releases the current OpenGL context. Changes the calling thread's current rendering context so it's no longer current. This method does not delete the stored OpenGL context. More... | |
void | StoreCurrentContext () |
Stores the current OpenGL context. Throws an exception if the calling thread doesn't have a current OpenGL context. More... | |
Static Public Member Functions | |
static void | GetVersion (int &iMajor, int &iMinor) |
Gets the OpenGL version. More... | |
Rx::LFR::COpenGlInterop::COpenGlInterop | ( | ) |
Default constructor.
Rx::LFR::COpenGlInterop::COpenGlInterop | ( | COpenGlInterop && | xOpenGlInterop | ) |
Move constructor.
xOpenGlInterop | [in,out] The open gl interop instance. |
Rx::LFR::COpenGlInterop::~COpenGlInterop | ( | ) |
Destructor.
void Rx::LFR::COpenGlInterop::CreateContextSharedWithCurrent | ( | ) |
Creates an OpenGL context that is shared with the current OpenGL context. This requires a current OpenGL context.
void Rx::LFR::COpenGlInterop::DeleteStoredContext | ( | ) |
Deletes the stored context (if it has been created by CreateContextSharedWithCurrent).
void Rx::LFR::COpenGlInterop::DestroyTexture | ( | EImage::ID | eImgID | ) |
Destroys the OpenGL texture of the image defined by the given ID.
Attention: An OpenGL context must be stored before by calling StoreCurrentContext.
eImgID | [in] The image ID. |
void Rx::LFR::COpenGlInterop::DestroyTextures | ( | ) |
Destroys all OpenGL textures.
Attention: An OpenGL context must be stored before by calling StoreCurrentContext.
|
inlineinherited |
Gets the non constant implementation.
|
inlineinherited |
Gets the constant implementation.
|
inherited |
Gets the interface defined by the given interface ID.
eInterface | [in] The interface ID. |
|
inlineinherited |
Gets the interface defined by the given interface ID.
TInterface | [in] The interface type. |
eInterface | [in] The interface. |
|
inherited |
Gets the interface defined by the given interface ID.
eInterface | [in] The interface ID. |
|
inlineinherited |
Gets the interface defined by the given interface ID.
TInterface | [in] The interface type. |
eInterface | [in] The interface ID. |
unsigned Rx::LFR::COpenGlInterop::GetTextureID | ( | EImage::ID | eImgID | ) | const |
Gets the OpenGL texture ID of the image defined by the given ID.
If the desired texture has not been created yet, the returned texture ID is 0.
Attention: An OpenGL context must be stored before by calling StoreCurrentContext.
eImgID | [in] The image ID. |
|
static |
Gets the OpenGL version.
iMajor | [out] The major part of the version. |
iMinor | [out] The minor part of the version. |
|
inlineinherited |
Queries if this object has the given interface.
eInterface | [in] The interface to query. |
bool Rx::LFR::COpenGlInterop::HasStoredContext | ( | ) | const |
Query if this object has a valid OpenGL context stored.
bool Rx::LFR::COpenGlInterop::MakeStoredContextCurrent | ( | ) | const |
Makes the stored OpenGL rendering context the calling thread's current rendering context.
COpenGlInterop& Rx::LFR::COpenGlInterop::operator= | ( | COpenGlInterop && | xOpenGlInterop | ) |
Move assignment operator.
xOpenGlInterop | [in,out] The openGl instance. |
void Rx::LFR::COpenGlInterop::ReleaseContext | ( | ) | const |
Releases the current OpenGL context. Changes the calling thread's current rendering context so it's no longer current. This method does not delete the stored OpenGL context.
void Rx::LFR::COpenGlInterop::StoreCurrentContext | ( | ) |
Stores the current OpenGL context. Throws an exception if the calling thread doesn't have a current OpenGL context.