Namespace Veldrid
Classes
BackendInfoD3D11
Exposes Direct3D 11-specific functionality, useful for interoperating with native components which interface directly with Direct3D 11. Can only be used on a GraphicsDevice whose GraphicsBackend is D3D11.
BackendInfoOpenGL
Exposes OpenGL-specific functionality, useful for interoperating with native components which interface directly with OpenGL. Can only be used on a GraphicsDevice whose GraphicsBackend is OpenGL.
BackendInfoVulkan
Exposes Vulkan-specific functionality, useful for interoperating with native components which interface directly with Vulkan. Can only be used on a GraphicsDevice whose GraphicsBackend is Vulkan.
CommandList
A device resource which allows the recording of graphics commands, which can later be executed by a GraphicsDevice. Before graphics commands can be issued, the Begin() method must be invoked. When the CommandList is ready to be executed, End() must be invoked, and then SubmitCommands(CommandList) should be used. NOTE: The use of CommandList is not thread-safe. Access to the CommandList must be externally synchronized. There are some limitations dictating proper usage and ordering of graphics commands. For example, a Framebuffer, Pipeline, vertex buffer, and index buffer must all be bound before a call to DrawIndexed(UInt32, UInt32, UInt32, Int32, UInt32) will succeed. These limitations are described in each function, where applicable. CommandList instances cannot be executed multiple times per-recording. When executed by a GraphicsDevice, they must be reset and commands must be issued again. See CommandListDescription.
DeviceBuffer
A device resource used to store arbitrary graphics data in various formats. The size of a DeviceBuffer is fixed upon creation, and resizing is not possible. See BufferDescription.
Fence
A synchronization primitive which allows the GPU to communicate when submitted work items have finished executing.
Framebuffer
A device resource used to control which color and depth textures are rendered to. See FramebufferDescription.
GraphicsDevice
Represents an abstract graphics device, capable of creating device resources and executing commands.
GraphicsDeviceFeatures
Enumerates the optional features supported by a given GraphicsDevice.
Pipeline
A device resource encapsulating all state in a graphics pipeline. Used in SetPipeline(Pipeline) to prepare a CommandList for draw commands. See GraphicsPipelineDescription.
ResourceFactory
A device object responsible for the creation of graphics resources.
ResourceLayout
A device resource which describes the layout and kind of BindableResource objects available to a shader set. See ResourceLayoutDescription.
ResourceSet
A device resource used to bind a particular set of BindableResource objects to a CommandList. See ResourceSetDescription.
Sampler
A bindable device resource which controls how texture values are sampled within a shader. See SamplerDescription.
Shader
A device resource encapsulating a single shader module. See ShaderDescription.
Swapchain
A device resource providing the ability to present rendered images to a visible surface. See SwapchainDescription.
SwapchainSource
A platform-specific object representing a renderable surface. A SwapchainSource can be created with one of several static factory methods. A SwapchainSource is used to describe a Swapchain (see SwapchainDescription).
Texture
A device resource used to store arbitrary image data in a specific format. See TextureDescription.
TextureView
A bindable device resource which provides a shader with access to a sampled Texture object. See TextureViewDescription.
VeldridException
Represents errors that occur in the Veldrid library.
Structs
BlendAttachmentDescription
A Pipeline component describing the blend behavior for an individual color attachment.
BlendStateDescription
A Pipeline component describing how values are blended into each individual color target.
BufferDescription
Describes a DeviceBuffer, used in the creation of DeviceBuffer objects by a ResourceFactory.
CommandListDescription
Describes a CommandList, for creation using a ResourceFactory.
ComputePipelineDescription
Describes a compute Pipeline, for creation using a ResourceFactory.
D3D11DeviceOptions
A structure describing Direct3D11-specific device creation options.
DepthStencilStateDescription
A Pipeline component describing the properties of the depth stencil state.
DeviceBufferRange
A BindableResource that represents a section of a DeviceBuffer. This can be used in place of a DeviceBuffer when creating a ResourceSet to make only a subset of the Buffer available to shaders.
FramebufferAttachment
Represents a single output of a Framebuffer. May be a color or depth attachment.
FramebufferAttachmentDescription
Describes a single attachment (color or depth) for a Framebuffer.
FramebufferDescription
Describes a Framebuffer, for creation using a ResourceFactory.
GraphicsDeviceOptions
A structure describing several common properties of a GraphicsDevice.
GraphicsPipelineDescription
Describes a graphics Pipeline, for creation using a ResourceFactory.
IndirectDispatchArguments
A structure describing the format expected by indirect dispatch commands contained in an indirect DeviceBuffer.
IndirectDrawArguments
A structure describing the format expected by indirect draw commands contained in an indirect DeviceBuffer.
IndirectDrawIndexedArguments
A structure describing the format expected by indirect, indexed draw commands contained in an indirect DeviceBuffer.
MappedResource
A structure describing the layout of a mapped MappableResource object.
MappedResourceView<T>
A typed view of a MappedResource. Provides by-reference structured access to individual elements in the mapped resource.
OutputAttachmentDescription
Describes an individual output attachment and its format.
OutputDescription
Describes a set of output attachments and their formats.
PixelFormatProperties
Describes the properties that are supported for a particular combination of PixelFormat, TextureType, and TextureUsage by a GraphicsDevice. See GetPixelFormatSupport(PixelFormat, TextureType, TextureUsage, out PixelFormatProperties).
RasterizerStateDescription
A Pipeline component describing the properties of the rasterizer.
ResourceLayoutDescription
Describes the layout of BindableResource objects for a Pipeline.
ResourceLayoutElementDescription
Describes an individual resource element in a ResourceLayout.
ResourceSetDescription
Describes a ResourceSet, for creation using a ResourceFactory.
RgbaByte
A color stored in four 8-bit unsigned normalized integer values, in RGBA component order.
RgbaFloat
A color stored in four 32-bit floating-point values, in RGBA component order.
SamplerDescription
Describes a Sampler, for creation using a ResourceFactory.
ShaderDescription
Describes a Shader, for creation using a ResourceFactory.
ShaderSetDescription
A Pipeline component describing a full set of shader stages and vertex layouts.
SpecializationConstant
Describes a single shader specialization constant. Used to substitute new values into Shaders when constructing a Pipeline.
StencilBehaviorDescription
Describes how stencil tests are performed in a Pipeline's depth-stencil state.
SwapchainDescription
Describes a Swapchain, for creation via a ResourceFactory.
TextureDescription
Describes a Texture, for creation using a ResourceFactory.
TextureViewDescription
Describes a TextureView, for creation using a ResourceFactory.
VertexElementDescription
Describes a single element of a vertex.
VertexLayoutDescription
Describes the layout of vertex data in a single DeviceBuffer used as a vertex buffer.
Viewport
Describes a 3-dimensional region.
VulkanDeviceOptions
A structure describing Vulkan-specific device creation options.
Interfaces
BindableResource
A resource which can be bound in a ResourceSet and used in a shader. See DeviceBuffer, DeviceBufferRange, Texture, TextureView and Sampler.
DeviceResource
A resource owned by a GraphicsDevice, which can be given a string identifier for debugging and informational purposes.
MappableResource
A marker interface designating a device resource which can be mapped into CPU-visible memory with Map(MappableResource, MapMode, UInt32)
Enums
BlendFactor
Controls the influence of components in a blend operation.
BlendFunction
Controls how the source and destination factors are combined in a blend operation.
BufferUsage
A bitmask describing the permitted uses of a DeviceBuffer object.
ComparisonKind
Describes how new values are compared with existing values in a depth or stencil comparison.
FaceCullMode
Indicates which face will be culled.
FrontFace
The winding order used to determine the front face of a primitive.
GraphicsBackend
The specific graphics API used by the GraphicsDevice.
IndexFormat
The format of index data used in a DeviceBuffer.
MapMode
Identifies how a MappableResource will be mapped into CPU address space.
PixelFormat
The format of data stored in a Texture. Each name is a compound identifier, where each component denotes a name and a number of bits used to store that component. The final component identifies the storage type of each component. "Float" identifies a signed, floating-point type, UNorm identifies an unsigned integer type which is normalized, meaning it occupies the full space of the integer type. The SRgb suffix for normalized integer formats indicates that the RGB components are stored in sRGB format.
PolygonFillMode
Indicates how the rasterizer will fill polygons.
PrimitiveTopology
Determines how a sequence of vertices is interepreted by the rasterizer.
ResourceBindingModel
Identifies a particular binding model used when connecting elements in a ResourceLayout with resources defined in API-specific shader code.
ResourceKind
The kind of a BindableResource object.
ResourceLayoutElementOptions
Miscellaneous options for an element in a ResourceLayout.
SamplerAddressMode
An addressing mode for texture coordinates.
SamplerBorderColor
A constant color that is sampled when Border is used.
SamplerFilter
Determines how texture values are sampled from a texture.
ShaderConstantType
The data type of a shader constant.
ShaderStages
A bitmask representing a set of shader stages.
StencilOperation
Identifies an action taken on samples that pass or fail the stencil test.
TextureSampleCount
Describes the number of samples to use in a Texture.
TextureType
Identifies a particular type of Texture.
TextureUsage
A bitmask indicating how a Texture is permitted to be used.
VertexElementFormat
The format of an individual vertex element.
VertexElementSemantic
The type of a vertex element, describing how the element is interpreted. NOTE: This enumeration is only meaningful for the Direct3D 11 backend. When using Veldrid.SPIRV to cross-compile a vertex shader to HLSL, all vertex elements will use TextureCoordinate.