Class ResourceFactory
A device object responsible for the creation of graphics resources.
Inheritance
Inherited Members
Namespace: Veldrid
Assembly: cs.temp.dll.dll
Syntax
public abstract class ResourceFactory
Constructors
ResourceFactory(GraphicsDeviceFeatures)
Declaration
protected ResourceFactory(GraphicsDeviceFeatures features)
Parameters
| Type | Name | Description |
|---|---|---|
| GraphicsDeviceFeatures | features |
Properties
BackendType
Gets the GraphicsBackend of this instance.
Declaration
public abstract GraphicsBackend BackendType { get; }
Property Value
| Type | Description |
|---|---|
| GraphicsBackend |
Features
Gets the GraphicsDeviceFeatures this instance was created with.
Declaration
public GraphicsDeviceFeatures Features { get; }
Property Value
| Type | Description |
|---|---|
| GraphicsDeviceFeatures |
Methods
CreateBuffer(BufferDescription)
Creates a new DeviceBuffer.
Declaration
public DeviceBuffer CreateBuffer(BufferDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| BufferDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| DeviceBuffer | A new DeviceBuffer. |
CreateBuffer(ref BufferDescription)
Creates a new DeviceBuffer.
Declaration
public DeviceBuffer CreateBuffer(ref BufferDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| BufferDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| DeviceBuffer | A new DeviceBuffer. |
CreateBufferCore(ref BufferDescription)
Declaration
protected abstract DeviceBuffer CreateBufferCore(ref BufferDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| BufferDescription | description |
Returns
| Type | Description |
|---|---|
| DeviceBuffer |
CreateCommandList()
Creates a new CommandList.
Declaration
public CommandList CreateCommandList()
Returns
| Type | Description |
|---|---|
| CommandList | A new CommandList. |
CreateCommandList(CommandListDescription)
Creates a new CommandList.
Declaration
public CommandList CreateCommandList(CommandListDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| CommandListDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| CommandList | A new CommandList. |
CreateCommandList(ref CommandListDescription)
Creates a new CommandList.
Declaration
public abstract CommandList CreateCommandList(ref CommandListDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| CommandListDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| CommandList | A new CommandList. |
CreateComputePipeline(ComputePipelineDescription)
Creates a new compute Pipeline object.
Declaration
public Pipeline CreateComputePipeline(ComputePipelineDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ComputePipelineDescription | description | The desirede properties of the created object. |
Returns
| Type | Description |
|---|---|
| Pipeline | A new Pipeline which, when bound to a CommandList, is used to dispatch compute commands. |
CreateComputePipeline(ref ComputePipelineDescription)
Creates a new compute Pipeline object.
Declaration
public abstract Pipeline CreateComputePipeline(ref ComputePipelineDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ComputePipelineDescription | description | The desirede properties of the created object. |
Returns
| Type | Description |
|---|---|
| Pipeline | A new Pipeline which, when bound to a CommandList, is used to dispatch compute commands. |
CreateFence(Boolean)
Creates a new Fence in the given state.
Declaration
public abstract Fence CreateFence(bool signaled)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | signaled | A value indicating whether the Fence should be in the signaled state when created. |
Returns
| Type | Description |
|---|---|
| Fence | A new Fence. |
CreateFramebuffer(FramebufferDescription)
Creates a new Framebuffer.
Declaration
public Framebuffer CreateFramebuffer(FramebufferDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| FramebufferDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Framebuffer | A new Framebuffer. |
CreateFramebuffer(ref FramebufferDescription)
Creates a new Framebuffer.
Declaration
public abstract Framebuffer CreateFramebuffer(ref FramebufferDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| FramebufferDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Framebuffer | A new Framebuffer. |
CreateGraphicsPipeline(GraphicsPipelineDescription)
Creates a new Pipeline.
Declaration
public Pipeline CreateGraphicsPipeline(GraphicsPipelineDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| GraphicsPipelineDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Pipeline | A new Pipeline. |
CreateGraphicsPipeline(ref GraphicsPipelineDescription)
Creates a new Pipeline object.
Declaration
public Pipeline CreateGraphicsPipeline(ref GraphicsPipelineDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| GraphicsPipelineDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Pipeline | A new Pipeline which, when bound to a CommandList, is used to dispatch draw commands. |
CreateGraphicsPipelineCore(ref GraphicsPipelineDescription)
Declaration
protected abstract Pipeline CreateGraphicsPipelineCore(ref GraphicsPipelineDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| GraphicsPipelineDescription | description |
Returns
| Type | Description |
|---|---|
| Pipeline |
CreateResourceLayout(ResourceLayoutDescription)
Creates a new ResourceLayout.
Declaration
public ResourceLayout CreateResourceLayout(ResourceLayoutDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ResourceLayoutDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| ResourceLayout | A new ResourceLayout. |
CreateResourceLayout(ref ResourceLayoutDescription)
Creates a new ResourceLayout.
Declaration
public abstract ResourceLayout CreateResourceLayout(ref ResourceLayoutDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ResourceLayoutDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| ResourceLayout | A new ResourceLayout. |
CreateResourceSet(ResourceSetDescription)
Creates a new ResourceSet.
Declaration
public ResourceSet CreateResourceSet(ResourceSetDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ResourceSetDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| ResourceSet | A new ResourceSet. |
CreateResourceSet(ref ResourceSetDescription)
Creates a new ResourceSet.
Declaration
public abstract ResourceSet CreateResourceSet(ref ResourceSetDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ResourceSetDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| ResourceSet | A new ResourceSet. |
CreateSampler(SamplerDescription)
Creates a new Sampler.
Declaration
public Sampler CreateSampler(SamplerDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| SamplerDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Sampler | A new Sampler. |
CreateSampler(ref SamplerDescription)
Creates a new Sampler.
Declaration
public Sampler CreateSampler(ref SamplerDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| SamplerDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Sampler | A new Sampler. |
CreateSamplerCore(ref SamplerDescription)
Declaration
protected abstract Sampler CreateSamplerCore(ref SamplerDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| SamplerDescription | description |
Returns
| Type | Description |
|---|---|
| Sampler |
CreateShader(ShaderDescription)
Creates a new Shader.
Declaration
public Shader CreateShader(ShaderDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ShaderDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Shader | A new Shader. |
CreateShader(ref ShaderDescription)
Creates a new Shader.
Declaration
public Shader CreateShader(ref ShaderDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ShaderDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Shader | A new Shader. |
CreateShaderCore(ref ShaderDescription)
Declaration
protected abstract Shader CreateShaderCore(ref ShaderDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| ShaderDescription | description |
Returns
| Type | Description |
|---|---|
| Shader |
CreateSwapchain(SwapchainDescription)
Creates a new Swapchain.
Declaration
public Swapchain CreateSwapchain(SwapchainDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| SwapchainDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Swapchain | A new Swapchain. |
CreateSwapchain(ref SwapchainDescription)
Creates a new Swapchain.
Declaration
public abstract Swapchain CreateSwapchain(ref SwapchainDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| SwapchainDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Swapchain | A new Swapchain. |
CreateTexture(UInt64, TextureDescription)
Creates a new Texture from an existing native texture.
Declaration
public Texture CreateTexture(ulong nativeTexture, TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| System.UInt64 | nativeTexture | A backend-specific handle identifying an existing native texture. See remarks. |
| TextureDescription | description | The properties of the existing Texture. |
Returns
| Type | Description |
|---|---|
| Texture | A new Texture wrapping the existing native texture. |
Remarks
The nativeTexture parameter is backend-specific, and the type of data passed in depends on which graphics API is being used. When using the Vulkan backend, nativeTexture must be a valid VkImage handle. When using the Metal backend, nativeTexture must be a valid MTLTexture pointer. When using the D3D11 backend, nativeTexture must be a valid pointer to an ID3D11Texture1D, ID3D11Texture2D, or ID3D11Texture3D. When using the OpenGL backend, nativeTexture must be a valid OpenGL texture name. The properties of the Texture will be determined from the TextureDescription passed in. These properties must match the true properties of the existing native texture.
CreateTexture(UInt64, ref TextureDescription)
Creates a new Texture from an existing native texture.
Declaration
public Texture CreateTexture(ulong nativeTexture, ref TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| System.UInt64 | nativeTexture | A backend-specific handle identifying an existing native texture. See remarks. |
| TextureDescription | description | The properties of the existing Texture. |
Returns
| Type | Description |
|---|---|
| Texture | A new Texture wrapping the existing native texture. |
Remarks
The nativeTexture parameter is backend-specific, and the type of data passed in depends on which graphics API is being used. When using the Vulkan backend, nativeTexture must be a valid VkImage handle. When using the Metal backend, nativeTexture must be a valid MTLTexture pointer. When using the D3D11 backend, nativeTexture must be a valid pointer to an ID3D11Texture1D, ID3D11Texture2D, or ID3D11Texture3D. When using the OpenGL backend, nativeTexture must be a valid OpenGL texture name. The properties of the Texture will be determined from the TextureDescription passed in. These properties must match the true properties of the existing native texture.
CreateTexture(TextureDescription)
Creates a new Texture.
Declaration
public Texture CreateTexture(TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Texture | A new Texture. |
CreateTexture(ref TextureDescription)
Creates a new Texture.
Declaration
public Texture CreateTexture(ref TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| Texture | A new Texture. |
CreateTextureCore(UInt64, ref TextureDescription)
Declaration
protected abstract Texture CreateTextureCore(ulong nativeTexture, ref TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| System.UInt64 | nativeTexture | |
| TextureDescription | description |
Returns
| Type | Description |
|---|---|
| Texture |
CreateTextureCore(ref TextureDescription)
Declaration
protected abstract Texture CreateTextureCore(ref TextureDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureDescription | description |
Returns
| Type | Description |
|---|---|
| Texture |
CreateTextureView(Texture)
Creates a new TextureView.
Declaration
public TextureView CreateTextureView(Texture target)
Parameters
| Type | Name | Description |
|---|---|---|
| Texture | target | The target Texture used in the new view. |
Returns
| Type | Description |
|---|---|
| TextureView | A new TextureView. |
CreateTextureView(TextureViewDescription)
Creates a new TextureView.
Declaration
public TextureView CreateTextureView(TextureViewDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureViewDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| TextureView | A new TextureView. |
CreateTextureView(ref TextureViewDescription)
Creates a new TextureView.
Declaration
public TextureView CreateTextureView(ref TextureViewDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureViewDescription | description | The desired properties of the created object. |
Returns
| Type | Description |
|---|---|
| TextureView | A new TextureView. |
CreateTextureViewCore(ref TextureViewDescription)
Declaration
protected abstract TextureView CreateTextureViewCore(ref TextureViewDescription description)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureViewDescription | description |
Returns
| Type | Description |
|---|---|
| TextureView |