Class DX11GraphicsContext
Manages all graphical functionality.
Inherited Members
Namespace: Evergine.DirectX11
Assembly: Evergine.DirectX11.dll
Syntax
public class DX11GraphicsContext : GraphicsContext, IDisposable, IGetNativePointers
Constructors
DX11GraphicsContext()
Initializes a new instance of the DX11GraphicsContext class.
Declaration
public DX11GraphicsContext()
Fields
DXDevice
The DirectX device.
Declaration
public ID3D11Device DXDevice
Field Value
Type | Description |
---|---|
ID3D11Device |
DXDeviceContext
The DirectX device context.
Declaration
public ID3D11DeviceContext1 DXDeviceContext
Field Value
Type | Description |
---|---|
ID3D11DeviceContext1 |
DXFactory
The DXGI factory.
Declaration
public IDXGIFactory2 DXFactory
Field Value
Type | Description |
---|---|
IDXGIFactory2 |
PipelineStateCache
The pipeline cache.
Declaration
public DX11PipelineStateCache PipelineStateCache
Field Value
Type | Description |
---|---|
DX11PipelineStateCache |
Properties
AvailablePointerKeys
Gets a list of all available keys to obtain native pointers.
Declaration
public override IEnumerable<string> AvailablePointerKeys { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
Overrides
BackendType
Gets the backend type (DirectX, OpenGL ...)
Declaration
public override GraphicsBackend BackendType { get; }
Property Value
Type | Description |
---|---|
GraphicsBackend |
Overrides
Capabilities
Gets the capabilities of this graphics context.
Declaration
public override GraphicsContextCapabilities Capabilities { get; }
Property Value
Type | Description |
---|---|
GraphicsContextCapabilities |
Overrides
DXDevice1
Gets the DirectX Device1.
Declaration
public ID3D11Device1 DXDevice1 { get; }
Property Value
Type | Description |
---|---|
ID3D11Device1 |
DXDevice2
Gets the DirectX Device2.
Declaration
public ID3D11Device2 DXDevice2 { get; }
Property Value
Type | Description |
---|---|
ID3D11Device2 |
DXDevice3
Gets the DirectX Device3.
Declaration
public ID3D11Device3 DXDevice3 { get; }
Property Value
Type | Description |
---|---|
ID3D11Device3 |
NativeContextPointer
Gets the native pointer of the DeviceContext.
Declaration
public IntPtr NativeContextPointer { get; }
Property Value
Type | Description |
---|---|
IntPtr |
NativeDevicePointer
Gets the native device pointer.
Declaration
public override IntPtr NativeDevicePointer { get; }
Property Value
Type | Description |
---|---|
IntPtr |
Overrides
SupportedGraphicProfile
Gets the supported graphic profile.
Declaration
public GraphicsProfile SupportedGraphicProfile { get; }
Property Value
Type | Description |
---|---|
GraphicsProfile |
Methods
CreateDeviceInternal()
Initialize the graphics context to be used in a compute shader.
Declaration
public override void CreateDeviceInternal()
Overrides
CreateSwapChain(SwapChainDescription)
Initialize the swapchain.
Declaration
public override SwapChain CreateSwapChain(SwapChainDescription description)
Parameters
Type | Name | Description |
---|---|---|
SwapChainDescription | description | The swapchain descriptor. |
Returns
Type | Description |
---|---|
SwapChain | Created Swapchain. |
Overrides
Dispose(bool)
Releases unmanaged and - optionally - managed resources.
Declaration
protected override void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
bool | disposing |
|
Overrides
GenerateTextureMipmapping(Texture)
Generate mipmapping texture levels.
Declaration
public override bool GenerateTextureMipmapping(Texture texture)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | The texture to generate mipmapping. |
Returns
Type | Description |
---|---|
bool | True if the mipmapping has been generated. |
Overrides
GetNativePointer(string, out IntPtr)
Obtain a native pointer of this graphics context using the given key.
Declaration
public override bool GetNativePointer(string pointerKey, out IntPtr nativePointer)
Parameters
Type | Name | Description |
---|---|---|
string | pointerKey | The pointer key. |
IntPtr | nativePointer | The native pointer. |
Returns
Type | Description |
---|---|
bool | True if there are an available pointer with this key. |
Overrides
InternalUpdateBufferData(Buffer, IntPtr, uint, uint)
Fill the buffer from a pointer.
Declaration
protected override void InternalUpdateBufferData(Buffer buffer, IntPtr source, uint sourceSizeInBytes, uint destinationOffsetInBytes = 0)
Parameters
Type | Name | Description |
---|---|---|
Buffer | buffer | Buffer instance. |
IntPtr | source | The data pointer. |
uint | sourceSizeInBytes | The size in bytes. |
uint | destinationOffsetInBytes | The offset in bytes. |
Overrides
MapMemory(GraphicsResource, MapMode, uint)
Declaration
public override MappedResource MapMemory(GraphicsResource resource, MapMode mode, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
GraphicsResource | resource | The graphics resource to map. |
MapMode | mode | The MapMode used to map the resource. |
uint | subResource | The subresource to map. Subresources are indexed first by mip slice and then by array layer. Only for Textures. |
Returns
Type | Description |
---|---|
MappedResource | A MappedResource structure describing the mapped data region. |
Overrides
ShaderCompile(string, string, ShaderStages, CompilerParameters)
Converts the shader source into bytecode.
Declaration
public override CompilationResult ShaderCompile(string shaderSource, string entryPoint, ShaderStages stage, CompilerParameters parameters)
Parameters
Type | Name | Description |
---|---|---|
string | shaderSource | The shader source text. |
string | entryPoint | The entrypoint function name. |
ShaderStages | stage | The shader stage, ShaderStages. |
CompilerParameters | parameters | The compiler parameters. |
Returns
Type | Description |
---|---|
CompilationResult | The shader bytecodes. |
Overrides
UnmapMemory(GraphicsResource, uint)
Declaration
public override void UnmapMemory(GraphicsResource resource, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
GraphicsResource | resource | The graphics resource to map. |
uint | subResource | The subresource to map. Subresources are indexed first by mip slice and then by array layer. Only for Textures. |
Overrides
UpdateTextureData(Texture, IntPtr, uint, uint)
Fill the buffer from a pointer.
Declaration
public override void UpdateTextureData(Texture texture, IntPtr source, uint sourceSizeInBytes, uint subResource = 0)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | Texture instance. |
IntPtr | source | The data pointer. |
uint | sourceSizeInBytes | The size in bytes. |
uint | subResource | The subResource index. |