Version: 2021.3
LanguageEnglish
  • C#

Target

enumeration

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

The intended usage of a GraphicsBuffer.

You must supply the intended usage (target) when creating a GraphicsBuffer; for example, pass GraphicsBuffer.Target.Index for a buffer to be usable as a geometry index buffer.

Not all usages are supported on all platforms and devices. In particular, any target usage flags that are not Vertex, Index or Constant require compute shaders to be supported (see SystemInfo.supportsComputeShaders).

These values can be combined; for example, GraphicsBuffer.Target.Index | GraphicsBuffer.Target.Raw creates a buffer that can be used both as an index buffer in a Graphics.DrawProcedural call, and as a "raw" byte address buffer in a compute shader.

DirectX 11 does not allow Index or Vertex buffers to also be Structured. For compute shader mesh data access with DirectX 11 compatibility, use Raw.

Additional resources: GraphicsBuffer class, GraphicsBuffer constructor, Mesh.vertexBufferTarget, Mesh.indexBufferTarget.

Properties

VertexGraphicsBuffer can be used as a vertex buffer.
IndexGraphicsBuffer can be used as an index buffer.
CopySourceGraphicsBuffer can be used as a source for CopyBuffer.
CopyDestinationGraphicsBuffer can be used as a destination for CopyBuffer.
StructuredGraphicsBuffer can be used as a structured buffer.
RawGraphicsBuffer can be used as a raw byte-address buffer.
AppendGraphicsBuffer can be used as an append-consume buffer.
CounterGraphicsBuffer with an internal counter.
IndirectArgumentsGraphicsBuffer can be used as an indirect argument buffer for indirect draws and dispatches.
ConstantGraphicsBuffer can be used as a constant buffer (uniform buffer).