Engine factory base interface. More...
#include <EngineFactory.h>
Public Member Functions | |
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. | |
virtual void DILIGENT_CALL_TYPE | SetMemoryAllocator (IMemoryAllocator *pAllocator) const =0 |
Sets the memory allocator to be used by the engine. | |
![]() | |
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 |
Engine factory base interface.
|
pure virtual |
Creates a data blob.
[in] | InitialSize | - The size of the internal data buffer. |
[in] | pData | - Pointer to the data to write to the internal buffer. If null, no data will be written. |
[out] | ppDataBlob | - Memory address where the pointer to the data blob will be written. |
|
pure virtual |
Creates a dearchiver object.
[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. |
Implemented in Diligent::EngineFactoryOpenGLImpl, and Diligent::EngineFactoryWebGPUImpl.
|
pure virtual |
Creates default shader source input stream factory.
[in] | SearchDirectories | - Semicolon-separated list of search directories. |
[out] | ppShaderSourceStreamFactory | - Memory address where the pointer to the shader source stream factory will be written. |
|
pure virtual |
Enumerates adapters available on this machine.
[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. |
Implemented in Diligent::EngineFactoryOpenGLImpl, and Diligent::EngineFactoryWebGPUImpl.
|
pure virtual |
Sets whether to break program execution on assertion failure.
[in] | BreakOnError | - Whether to break on assertion failure. |
BreakOnError is a global setting that applies to the entire execution unit (executable or shared library that contains the engine implementation).
|
pure virtual |
Sets the memory allocator to be used by the engine.
[in] | pAllocator | - Pointer to the memory allocator. |
The allocator is a global setting that applies to the entire execution unit (executable or shared library that contains the engine implementation).
The allocator should be set before any other factory method is called and should not be changed afterwards. The allocator object must remain valid for the lifetime of the engine until all engine objects are destroyed.
|
pure virtual |
Sets a user-provided debug message callback.
[in] | MessageCallback | - Debug message callback function to use instead of the default one. |
MessageCallback is a global setting that applies to the entire execution unit (executable or shared library that contains the engine implementation).