Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IEngineFactoryOpenGL Struct Referenceabstract

Engine factory for OpenGL rendering backend. More...

#include <EngineFactoryOpenGL.h>

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

Public Member Functions

virtual void DILIGENT_CALL_TYPE CreateDeviceAndSwapChainGL (const EngineGLCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppImmediateContext, const SwapChainDesc &SCDesc, ISwapChain **ppSwapChain)=0
 Creates a render device and swap chain for OpenGL-based engine implementation.
 
virtual void DILIGENT_CALL_TYPE CreateHLSL2GLSLConverter (IHLSL2GLSLConverter **ppConverter)=0
 Creates a HLSL2GLSL converter.
 
virtual void DILIGENT_CALL_TYPE AttachToActiveGLContext (const EngineGLCreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppImmediateContext)=0
 Attaches to the active GL context in the thread.
 
- Public Member Functions inherited from Diligent.IEngineFactory
virtual const APIInfo &DILIGENT_CALL_TYPE GetAPIInfo () const =0
 Returns API info structure, see Diligent::APIInfo.
 
virtual void DILIGENT_CALL_TYPE CreateDefaultShaderSourceStreamFactory (const Char *SearchDirectories, struct IShaderSourceInputStreamFactory **ppShaderSourceFactory) const =0
 Creates default shader source input stream factory.
 
virtual void DILIGENT_CALL_TYPE CreateDataBlob (size_t InitialSize, const void *pData, IDataBlob **ppDataBlob) const =0
 Creates a data blob.
 
virtual void DILIGENT_CALL_TYPE EnumerateAdapters (Version MinVersion, Uint32 &NumAdapters, GraphicsAdapterInfo *Adapters) const =0
 Enumerates adapters available on this machine.
 
virtual void DILIGENT_CALL_TYPE CreateDearchiver (const DearchiverCreateInfo &CreateInfo, struct IDearchiver **ppDearchiver) const =0
 Creates a dearchiver object.
 
virtual void DILIGENT_CALL_TYPE SetMessageCallback (DebugMessageCallbackType MessageCallback) const =0
 Sets a user-provided debug message callback.
 
virtual void DILIGENT_CALL_TYPE SetBreakOnError (bool BreakOnError) const =0
 Sets whether to break program execution on assertion failure.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Engine factory for OpenGL rendering backend.

Member Function Documentation

◆ AttachToActiveGLContext()

virtual void DILIGENT_CALL_TYPE Diligent::IEngineFactoryOpenGL::AttachToActiveGLContext ( const EngineGLCreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppImmediateContext )
pure virtual

Attaches to the active GL context in the thread.

Parameters
[in]EngineCI- Engine creation info, see EngineGLCreateInfo.
[out]ppDevice- Address of the memory location where pointer to the created device will be written.
[out]ppImmediateContext- Address of the memory location where pointer to the immediate device context will be written.
Note
The application is responsible for presenting the main frame buffer.

Implemented in Diligent::EngineFactoryOpenGLImpl.

◆ CreateDeviceAndSwapChainGL()

virtual void DILIGENT_CALL_TYPE Diligent::IEngineFactoryOpenGL::CreateDeviceAndSwapChainGL ( const EngineGLCreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppImmediateContext,
const SwapChainDesc & SCDesc,
ISwapChain ** ppSwapChain )
pure virtual

Creates a render device and swap chain for OpenGL-based engine implementation.

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

Implemented in Diligent::EngineFactoryOpenGLImpl.

◆ CreateHLSL2GLSLConverter()

virtual void DILIGENT_CALL_TYPE Diligent::IEngineFactoryOpenGL::CreateHLSL2GLSLConverter ( IHLSL2GLSLConverter ** ppConverter)
pure virtual

Creates a HLSL2GLSL converter.

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

Implemented in Diligent::EngineFactoryOpenGLImpl.