Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::EngineFactoryOpenGLImpl Class Reference

Engine factory for OpenGL implementation. More...

Inheritance diagram for Diligent::EngineFactoryOpenGLImpl:
Diligent::EngineFactoryBase< IEngineFactoryOpenGL > Diligent::IEngineFactoryOpenGL Diligent.IEngineFactory Diligent.IObject

Public Member Functions

virtual void DILIGENT_CALL_TYPE CreateDeviceAndSwapChainGL (const EngineGLCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppImmediateContext, const SwapChainDesc &SCDesc, ISwapChain **ppSwapChain) override final
 Creates render device, device context and swap chain for OpenGL/GLES-based engine implementation.
 
virtual void DILIGENT_CALL_TYPE CreateHLSL2GLSLConverter (IHLSL2GLSLConverter **ppConverter) override final
 Creates a HLSL2GLSL converter.
 
virtual void DILIGENT_CALL_TYPE AttachToActiveGLContext (const EngineGLCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppImmediateContext) override final
 Creates render device, device context and attaches to existing GL context.
 
virtual void DILIGENT_CALL_TYPE EnumerateAdapters (Version MinVersion, Uint32 &NumAdapters, GraphicsAdapterInfo *Adapters) const override final
 Enumerates adapters available on this machine.
 
virtual void DILIGENT_CALL_TYPE CreateDearchiver (const DearchiverCreateInfo &CreateInfo, IDearchiver **ppDearchiver) const override final
 Creates a dearchiver object.
 
- Public Member Functions inherited from Diligent::EngineFactoryBase< IEngineFactoryOpenGL >
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface) override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef () override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release () override final
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const override final
 
virtual const APIInfo &DILIGENT_CALL_TYPE GetAPIInfo () const override final
 
virtual void DILIGENT_CALL_TYPE CreateDataBlob (size_t InitialSize, const void *pData, IDataBlob **ppDataBlob) const override final
 
virtual void DILIGENT_CALL_TYPE CreateDefaultShaderSourceStreamFactory (const Char *SearchDirectories, IShaderSourceInputStreamFactory **ppShaderSourceFactory) const override final
 
virtual void DILIGENT_CALL_TYPE SetMessageCallback (DebugMessageCallbackType MessageCallback) const override final
 
virtual void DILIGENT_CALL_TYPE SetBreakOnError (bool BreakOnError) const override final
 
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface) override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef () override final
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release () override final
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const override final
 
virtual const APIInfo &DILIGENT_CALL_TYPE GetAPIInfo () const override final
 
virtual void DILIGENT_CALL_TYPE CreateDataBlob (size_t InitialSize, const void *pData, IDataBlob **ppDataBlob) const override final
 
virtual void DILIGENT_CALL_TYPE CreateDefaultShaderSourceStreamFactory (const Char *SearchDirectories, IShaderSourceInputStreamFactory **ppShaderSourceFactory) const override final
 
virtual void DILIGENT_CALL_TYPE SetMessageCallback (DebugMessageCallbackType MessageCallback) const override final
 
virtual void DILIGENT_CALL_TYPE SetBreakOnError (bool BreakOnError) const override final
 

Detailed Description

Engine factory for OpenGL implementation.

Member Function Documentation

◆ AttachToActiveGLContext()

void Diligent::EngineFactoryOpenGLImpl::AttachToActiveGLContext ( const EngineGLCreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppImmediateContext )
finaloverridevirtual

Creates render device, device context and attaches to existing GL context.

Parameters
[in]EngineCI- Engine creation attributes.
[out]ppDevice- Address of the memory location where pointer to the created device will be written.
[out]ppImmediateContext- Address of the memory location where pointers to the immediate context will be written.

Implements Diligent::IEngineFactoryOpenGL.

◆ CreateDearchiver()

virtual void DILIGENT_CALL_TYPE Diligent::EngineFactoryOpenGLImpl::CreateDearchiver ( const DearchiverCreateInfo & CreateInfo,
IDearchiver ** ppDearchiver ) const
inlinefinaloverridevirtual

Creates a dearchiver object.

Parameters
[in]CreateInfo- Dearchiver create info, see Diligent::DearchiverCreateInfo for details.
[out]ppDearchiver- Address of the memory location where a pointer to IDearchiver interface will be written. The function calls AddRef(), so that the new object will have one reference.

Reimplemented from Diligent::EngineFactoryBase< IEngineFactoryOpenGL >.

◆ CreateDeviceAndSwapChainGL()

void Diligent::EngineFactoryOpenGLImpl::CreateDeviceAndSwapChainGL ( const EngineGLCreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppImmediateContext,
const SwapChainDesc & SCDesc,
ISwapChain ** ppSwapChain )
finaloverridevirtual

Creates render device, device context and swap chain for OpenGL/GLES-based engine implementation.

Parameters
[in]EngineCI- Engine creation attributes.
[out]ppDevice- Address of the memory location where pointer to the created device will be written.
[out]ppImmediateContext- Address of the memory location where pointers to the immediate context will be written.
[in]SCDesc- Swap chain description.
[out]ppSwapChain- Address of the memory location where pointer to the new swap chain will be written.

Implements Diligent::IEngineFactoryOpenGL.

◆ CreateHLSL2GLSLConverter()

void Diligent::EngineFactoryOpenGLImpl::CreateHLSL2GLSLConverter ( IHLSL2GLSLConverter ** ppConverter)
finaloverridevirtual

Creates a HLSL2GLSL converter.

Parameters
[out]ppConverter- Address of the memory location where pointer to the created HLSL2GLSL converter will be written.

Implements Diligent::IEngineFactoryOpenGL.

◆ EnumerateAdapters()

void Diligent::EngineFactoryOpenGLImpl::EnumerateAdapters ( Version MinVersion,
Uint32 & NumAdapters,
GraphicsAdapterInfo * Adapters ) const
finaloverridevirtual

Enumerates adapters available on this machine.

Parameters
[in]MinVersion- Minimum required API version (feature level for Direct3D).
[in,out]NumAdapters- The number of adapters. If Adapters is null, this value will be overwritten with the number of adapters available on this system. If Adapters is not null, this value should contain the maximum number of elements reserved in the array pointed to by Adapters. In the latter case, this value is overwritten with the actual number of elements written to Adapters.
[out]Adapters- Pointer to the array containing adapter information. If null is provided, the number of available adapters is written to NumAdapters.
Note
OpenGL backend only supports one device; features and properties will have limited information.

Implements Diligent.IEngineFactory.