Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


DrawMesh

Records a draw command with the provided triangle-list indexed mesh.
Read time 4 minutesLast updated 13 days ago

Definition

DrawMesh(NativeSlice<Vertex>, NativeSlice<ushort>, Texture)

Records a draw command with the provided triangle-list indexed mesh.
public void DrawMesh(NativeSlice<Vertex> vertices, NativeSlice<ushort> indices, Texture texture = null)

Parameters

The vertices to be drawn. All referenced vertices must be initialized.

The triangle list indices. Must be a multiple of 3. All indices must be initialized.

texture

An optional texture to be applied on the triangles. Pass null to rely on vertex colors only.

Remarks

You can generate the mesh content later because the renderer doesn't immediately process the mesh. The mesh content must be fully generated before you return from GenerateVisualContent, unless you call MeshGenerationContext.AddMeshGenerationJob.
The renderer will process the mesh when the following conditions are met:
  • GenerateVisualContent has been called on all dirty VisualElements
  • All registered generation dependencies have completed
  • All deferred generation callbacks have been issued

DrawMesh(NativeSlice<Vertex>, NativeSlice<ushort>, Texture, TextureOptions)

Records a draw command with the provided triangle-list indexed mesh.
public void DrawMesh(NativeSlice<Vertex> vertices, NativeSlice<ushort> indices, Texture texture, TextureOptions textureOptions)

Parameters

The vertices to be drawn. All referenced vertices must be initialized.

The triangle list indices. Must be a multiple of 3. All indices must be initialized.

texture

An optional texture to be applied on the triangles. Pass null to rely on vertex colors only.

textureOptions

Flags that apply to the provided texture for this draw call.

Remarks

You can generate the mesh content later because the renderer doesn't immediately process the mesh. The mesh content must be fully generated before you return from GenerateVisualContent, unless you call MeshGenerationContext.AddMeshGenerationJob.
The renderer will process the mesh when the following conditions are met:
  • GenerateVisualContent has been called on all dirty VisualElements
  • All registered generation dependencies have completed
  • All deferred generation callbacks have been issued

DrawMesh(UIMesh, Texture)

Records a draw command with a UIMesh bundle.
public void DrawMesh(ref UIMesh mesh, Texture texture = null)

Parameters

mesh


texture

Remarks

The slices inside
mesh
are read at flush time (end of the current repaint pass), not at this call. See UIMesh for the lifetime contract.
_vertices and _indices are mandatory. Each non-empty extras slice must have
Length == mesh.vertices.Length
; mismatches are logged and the entire draw is dropped.

DrawMesh(UIMesh, Texture, TextureOptions)

Records a draw command with a UIMesh bundle.
public void DrawMesh(ref UIMesh mesh, Texture texture, TextureOptions textureOptions)

Parameters

mesh


texture


textureOptions

Remarks

See MeshGenerationContext.DrawMesh for the lifetime contract and validation rules.

DrawMesh(NativeSlice<Vertex>, NativeSlice<ushort>, Texture, int)

Records a draw command and tags it with a user-defined identifier surfaced on
DrawData.userData
in mesh modifiers.
public void DrawMesh(NativeSlice<Vertex> vertices, NativeSlice<ushort> indices, Texture texture, int userData)

Parameters

The vertices to be drawn. All referenced vertices must be initialized.

The triangle list indices. Must be a multiple of 3.

texture

An optional texture to be applied. Pass null to rely on vertex colors only.

userData

User-defined identifier surfaced on
DrawData.userData
.

DrawMesh(NativeSlice<Vertex>, NativeSlice<ushort>, Texture, TextureOptions, int)

Records a draw command and tags it with a user-defined identifier surfaced on
DrawData.userData
in mesh modifiers.
public void DrawMesh(NativeSlice<Vertex> vertices, NativeSlice<ushort> indices, Texture texture, TextureOptions textureOptions, int userData)

Parameters

The vertices to be drawn. All referenced vertices must be initialized.

The triangle list indices. Must be a multiple of 3.

texture

An optional texture to be applied. Pass null to rely on vertex colors only.

textureOptions

Flags that apply to the provided texture for this draw call.

userData

User-defined identifier surfaced on
DrawData.userData
.

DrawMesh(UIMesh, Texture, int)

Records a draw command with a UIMesh bundle and tags it with a user-defined identifier surfaced on
DrawData.userData
in mesh modifiers.
public void DrawMesh(ref UIMesh mesh, Texture texture, int userData)

Parameters

mesh


texture


userData

Remarks

See MeshGenerationContext.DrawMesh for the lifetime contract and validation rules.

DrawMesh(UIMesh, Texture, TextureOptions, int)

Records a draw command with a UIMesh bundle and tags it with a user-defined identifier surfaced on
DrawData.userData
in mesh modifiers.
public void DrawMesh(ref UIMesh mesh, Texture texture, TextureOptions textureOptions, int userData)

Parameters

mesh


texture


textureOptions


userData

Remarks

See MeshGenerationContext.DrawMesh for the lifetime contract and validation rules.