Show / Hide Table of Contents

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.

Back to top