Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::IRenderDeviceGL Class Referenceabstract

Interface to the render device object implemented in OpenGL. More...

Inheritance diagram for Diligent::IRenderDeviceGL:
Diligent::IRenderDevice Diligent::IRenderDeviceGLES

Public Member Functions

virtual void CreateTextureFromGLHandle (Uint32 GLHandle, const TextureDesc &TexDesc, ITexture **ppTexture)=0
 Creates a texture from OpenGL handle. More...
 
virtual void CreateBufferFromGLHandle (Uint32 GLHandle, const BufferDesc &BuffDesc, IBuffer **ppBuffer)=0
 Creates a buffer from OpenGL handle. More...
 
- Public Member Functions inherited from Diligent::IRenderDevice
virtual void QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void CreateBuffer (const BufferDesc &BuffDesc, const BufferData &BuffData, IBuffer **ppBuffer)=0
 Creates a new buffer object. More...
 
virtual void CreateShader (const ShaderCreationAttribs &CreationAttribs, IShader **ppShader)=0
 Creates a new shader object. More...
 
virtual void CreateTexture (const TextureDesc &TexDesc, const TextureData &Data, ITexture **ppTexture)=0
 Creates a new texture object. More...
 
virtual void CreateSampler (const SamplerDesc &SamDesc, ISampler **ppSampler)=0
 Creates a new sampler object. More...
 
virtual void CreateResourceMapping (const ResourceMappingDesc &MappingDesc, IResourceMapping **ppMapping)=0
 Creates a new resource mapping. More...
 
virtual void CreatePipelineState (const PipelineStateDesc &PipelineDesc, IPipelineState **ppPipelineState)=0
 Creates a new pipeline state object. More...
 
virtual const DeviceCapsGetDeviceCaps () const =0
 Gets the device capabilities, see Diligent::DeviceCaps for details.
 
virtual const TextureFormatInfoGetTextureFormatInfo (TEXTURE_FORMAT TexFormat)=0
 Returns the basic texture format information. More...
 
virtual const TextureFormatInfoExtGetTextureFormatInfoExt (TEXTURE_FORMAT TexFormat)=0
 Returns the extended texture format information. More...
 

Detailed Description

Interface to the render device object implemented in OpenGL.

Member Function Documentation

◆ CreateBufferFromGLHandle()

virtual void Diligent::IRenderDeviceGL::CreateBufferFromGLHandle ( Uint32  GLHandle,
const BufferDesc BuffDesc,
IBuffer **  ppBuffer 
)
pure virtual

Creates a buffer from OpenGL handle.

Parameters
[in]GLHandle- OpenGL buffer handle
[in]BuffDesc- Buffer description. The engine can automatically recover buffer size, but the rest of the fields need to be set by the client.
[out]ppBuffer- Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one refernce.
Note
Diligent engine buffer object does not take ownership of the GL resource, and the application must not destroy it while it is in use by the engine.

◆ CreateTextureFromGLHandle()

virtual void Diligent::IRenderDeviceGL::CreateTextureFromGLHandle ( Uint32  GLHandle,
const TextureDesc TexDesc,
ITexture **  ppTexture 
)
pure virtual

Creates a texture from OpenGL handle.

Parameters
[in]GLHandle- OpenGL texture handle
[in]TexDesc- Texture description. The engine can automatically set texture width, height, depth, mip levels count, and format. Remaining fields should be set up by the app.
[out]ppTexture- Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one refernce.
Note
Diligent engine texture object does not take ownership of the GL resource, and the application must not destroy it while it is in use by the engine.