DrawMesh
Records a draw command with the provided triangle-list indexed mesh.
Read time 4 minutesLast updated 13 days ago
Definition
- Type: Method
- Namespace: UnityEngine.UIElements
- Assembly: UnityEngine.UIElementsModule
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.
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.
An optional texture to be applied on the triangles. Pass null to rely on vertex colors only.
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
Remarks
The slices inside are read at flush time (end of the current repaint pass), not at this call. See UIMesh for the lifetime contract.
mesh_vertices and _indices are mandatory. Each non-empty extras slice must have ; mismatches are logged and the entire draw is dropped.
Length == mesh.vertices.LengthDrawMesh(UIMesh, Texture, TextureOptions)
Records a draw command with a UIMesh bundle.
public void DrawMesh(ref UIMesh mesh, Texture texture, TextureOptions textureOptions)
Parameters
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 in mesh modifiers.
DrawData.userDatapublic 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.
An optional texture to be applied. Pass null to rely on vertex colors only.
User-defined identifier surfaced on .
DrawData.userDataDrawMesh(NativeSlice<Vertex>, NativeSlice<ushort>, Texture, TextureOptions, int)
Records a draw command and tags it with a user-defined identifier surfaced on in mesh modifiers.
DrawData.userDatapublic 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.
An optional texture to be applied. Pass null to rely on vertex colors only.
Flags that apply to the provided texture for this draw call.
User-defined identifier surfaced on .
DrawData.userDataDrawMesh(UIMesh, Texture, int)
Records a draw command with a UIMesh bundle and tags it with a user-defined identifier surfaced on in mesh modifiers.
DrawData.userDatapublic void DrawMesh(ref UIMesh mesh, Texture texture, int userData)
Parameters
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 in mesh modifiers.
DrawData.userDatapublic void DrawMesh(ref UIMesh mesh, Texture texture, TextureOptions textureOptions, int userData)
Parameters
Remarks
See MeshGenerationContext.DrawMesh for the lifetime contract and validation rules.