Plasma Engine
2.0
Loading...
Searching...
No Matches
DeviceFactory.h
1
#pragma once
2
3
#include <Foundation/Types/Delegate.h>
4
#include <RendererFoundation/RendererFoundationDLL.h>
5
6
struct
PL_RENDERERFOUNDATION_DLL
plGALDeviceFactory
7
{
8
using
CreatorFunc
=
plDelegate<plInternal::NewInstance<plGALDevice>
(
plAllocator
*,
const
plGALDeviceCreationDescription
&)>;
9
10
static
plInternal::NewInstance<plGALDevice>
CreateDevice(
plStringView
sRendererName,
plAllocator
* pAllocator,
const
plGALDeviceCreationDescription
& desc);
11
12
static
void
GetShaderModelAndCompiler(
plStringView
sRendererName,
const
char
*& ref_szShaderModel,
const
char
*& ref_szShaderCompiler);
13
14
static
void
RegisterCreatorFunc(
const
char
* szRendererName,
const
CreatorFunc
& func,
const
char
* szShaderModel,
const
char
* szShaderCompiler);
15
static
void
UnregisterCreatorFunc(
const
char
* szRendererName);
16
};
plAllocator
Base class for all memory allocators.
Definition
Allocator.h:23
plStringView
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition
StringView.h:34
plDelegate< plInternal::NewInstance< plGALDevice >(plAllocator *, const plGALDeviceCreationDescription &)>
plGALDeviceCreationDescription
Definition
Descriptors.h:39
plGALDeviceFactory
Definition
DeviceFactory.h:7
plInternal::NewInstance
Definition
Allocator_inl.h:18
Code
Engine
RendererFoundation
Device
DeviceFactory.h
Generated by
1.11.0