Diligent Engine
 
Loading...
Searching...
No Matches
Diligent.IEngineFactoryD3D11 Struct Referenceabstract

Engine factory for Direct3D11 rendering backend. More...

#include <EngineFactoryD3D11.h>

Inheritance diagram for Diligent.IEngineFactoryD3D11:
Diligent.IEngineFactory Diligent.IObject

Public Member Functions

virtual void DILIGENT_CALL_TYPE CreateDeviceAndContextsD3D11 (const EngineD3D11CreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppContexts)=0
 Creates a render device and device contexts for Direct3D11-based engine implementation.
 
virtual void DILIGENT_CALL_TYPE CreateSwapChainD3D11 (IRenderDevice *pDevice, IDeviceContext *pImmediateContext, const SwapChainDesc &SCDesc, const FullScreenModeDesc &FSDesc, const NativeWindow &Window, ISwapChain **ppSwapChain)=0
 Creates a swap chain for Direct3D11-based engine implementation.
 
virtual void DILIGENT_CALL_TYPE AttachToD3D11Device (void *pd3d11NativeDevice, void *pd3d11ImmediateContext, const EngineD3D11CreateInfo &EngineCI, IRenderDevice **ppDevice, IDeviceContext **ppContexts)=0
 Attaches to existing Direct3D11 render device and immediate context.
 
virtual void DILIGENT_CALL_TYPE EnumerateDisplayModes (Version MinFeatureLevel, Uint32 AdapterId, Uint32 OutputId, TEXTURE_FORMAT Format, Uint32 &NumDisplayModes, DisplayModeAttribs *DisplayModes)=0
 Enumerates available display modes for the specified output of the specified adapter.
 
- 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 Direct3D11 rendering backend.

Member Function Documentation

◆ AttachToD3D11Device()

virtual void DILIGENT_CALL_TYPE Diligent.IEngineFactoryD3D11.AttachToD3D11Device ( void * pd3d11NativeDevice,
void * pd3d11ImmediateContext,
const EngineD3D11CreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppContexts )
pure virtual

Attaches to existing Direct3D11 render device and immediate context.

Parameters
[in]pd3d11NativeDevice- pointer to the native Direct3D11 device.
[in]pd3d11ImmediateContext- pointer to the native Direct3D11 immediate context.
[in]EngineCI- Engine creation info.
[out]ppDevice- Address of the memory location where pointer to the created device will be written.
[out]ppContexts- Address of the memory location where pointers to the contexts will be written. Immediate context goes at position 0. If EngineCI.NumDeferredContexts > 0, pointers to the deferred contexts are written afterwards.

◆ CreateDeviceAndContextsD3D11()

virtual void DILIGENT_CALL_TYPE Diligent.IEngineFactoryD3D11.CreateDeviceAndContextsD3D11 ( const EngineD3D11CreateInfo & EngineCI,
IRenderDevice ** ppDevice,
IDeviceContext ** ppContexts )
pure virtual

Creates a render device and device contexts for Direct3D11-based engine implementation.

Parameters
[in]EngineCI- Engine creation info.
[out]ppDevice- Address of the memory location where pointer to the created device will be written.
[out]ppContexts- Address of the memory location where pointers to the contexts will be written. Immediate context goes at position 0. If EngineCI.NumDeferredContexts > 0, pointers to deferred contexts are written afterwards.

◆ CreateSwapChainD3D11()

virtual void DILIGENT_CALL_TYPE Diligent.IEngineFactoryD3D11.CreateSwapChainD3D11 ( IRenderDevice * pDevice,
IDeviceContext * pImmediateContext,
const SwapChainDesc & SCDesc,
const FullScreenModeDesc & FSDesc,
const NativeWindow & Window,
ISwapChain ** ppSwapChain )
pure virtual

Creates a swap chain for Direct3D11-based engine implementation.

Parameters
[in]pDevice- Pointer to the render device.
[in]pImmediateContext- Pointer to the immediate device context.
[in]SCDesc- Swap chain description.
[in]FSDesc- Fullscreen mode description.
[in]Window- Platform-specific native window description that the swap chain will be associated with:
  • On Win32 platform, this is the window handle (HWND)
  • On Universal Windows Platform, this is the reference to the core window (Windows::UI::Core::CoreWindow)
[out]ppSwapChain- Address of the memory location where pointer to the new swap chain will be written.

◆ EnumerateDisplayModes()

virtual void DILIGENT_CALL_TYPE Diligent.IEngineFactoryD3D11.EnumerateDisplayModes ( Version MinFeatureLevel,
Uint32 AdapterId,
Uint32 OutputId,
TEXTURE_FORMAT Format,
Uint32 & NumDisplayModes,
DisplayModeAttribs * DisplayModes )
pure virtual

Enumerates available display modes for the specified output of the specified adapter.

Parameters
[in]MinFeatureLevel- Minimum feature level of the adapter that was given to EnumerateAdapters().
[in]AdapterId- Id of the adapter enumerated by EnumerateAdapters().
[in]OutputId- Adapter output id.
[in]Format- Display mode format.
[in,out]NumDisplayModes- Number of display modes. If DisplayModes is null, this value is overwritten with the number of display modes available for this output. If DisplayModes is not null, this value should contain the maximum number of elements to be written to DisplayModes array. It is overwritten with the actual number of display modes written.