s&box docs

public class Sandbox.Mesh

A mesh is a basic version of a `Sandbox.Model`, containing a set of vertices and indices which make up faces that make up a shape. A set of meshes can be used to create a `Sandbox.Model` via the `Sandbox.ModelBuilder` class.

Broader workflow and conceptual references connected to this API.

Constructors

Showing 3 constructors

Methods

Showing 25 methods

public void CreateBuffers(Sandbox.VertexBuffer vb, bool calculateBounds = True)

Create vertex and index buffers.

Parameters

  • vb: Input vertex buffer. If it is indexed (`Sandbox.VertexBuffer.Indexed`), then index buffer will also be created.
  • calculateBounds: Whether to recalculate bounds from the vertex buffer. Default: True

protected virtual override void Finalize()

public void SetIndexBufferSize(int elementCount)

Resize the index buffer.

public void SetIndexRange(int start, int count)

Set how many indices this mesh draws

public void SetVertexBufferSize(int elementCount)

Resize the vertex buffer

public void SetVertexRange(int start, int count)

Set how many vertices this mesh draws (if there's no index buffer)

public static System.Span`1<int> TriangulatePolygon(System.Span`1<Vector3> vertices)

Properties

Showing 9 properties

public BBox Sandbox.Mesh.Bounds { get; set; }

Sets AABB bounds for this mesh.

public bool Sandbox.Mesh.HasIndexBuffer { get; set; }

Whether this mesh has an index buffer.

public bool Sandbox.Mesh.HasVertexBuffer { get; set; }

Whether this mesh has a vertex buffer.

public int Sandbox.Mesh.IndexCount { get; set; }

Number of indices this mesh has.

public virtual sealed bool Sandbox.Mesh.IsValid { get; set; }

public Sandbox.MeshPrimitiveType Sandbox.Mesh.PrimitiveType { get; set; }

Sets the primitive type for this mesh.

public float Sandbox.Mesh.UvDensity { get; set; }

Used to calculate texture size for texture streaming.

public int Sandbox.Mesh.VertexCount { get; set; }

Number of vertices this mesh has.

Metadata

FieldValue
NamespaceSandbox
Typeclass
AssemblySandbox.Engine
Doc IDT:Sandbox.Mesh

On this page

Constructorspublic Mesh()public Mesh(Sandbox.Material material, Sandbox.MeshPrimitiveType primType = 3)public Mesh(System.String name, Sandbox.Material material, Sandbox.MeshPrimitiveType primType = 3)Methodspublic System.Void CreateBuffers(Sandbox.VertexBuffer vb, System.Boolean calculateBounds = True)public System.Void CreateIndexBuffer()public System.Void CreateIndexBuffer(System.Int32 indexCount, System.Collections.Generic.List`1<System.Int32> data)public System.Void CreateIndexBuffer(System.Int32 indexCount, System.Span`1<System.Int32> data = null)public System.Void CreateVertexBuffer(Sandbox.VertexAttribute[] layout)public System.Void CreateVertexBuffer(System.Int32 vertexCount, Sandbox.VertexAttribute[] layout, System.Collections.Generic.List`1<T> data)public System.Void CreateVertexBuffer(System.Int32 vertexCount, Sandbox.VertexAttribute[] layout, System.Span`1<T> data = null)public System.Void CreateVertexBuffer(System.Int32 vertexCount, System.Collections.Generic.List`1<T> data)public System.Void CreateVertexBuffer(System.Int32 vertexCount, System.Span`1<T> data = null)protected virtual override System.Void Finalize()public System.Void LockIndexBuffer(Sandbox.Mesh.IndexBufferLockHandler handler)public System.Void LockIndexBuffer(System.Int32 elementCount, Sandbox.Mesh.IndexBufferLockHandler handler)public System.Void LockIndexBuffer(System.Int32 elementOffset, System.Int32 elementCount, Sandbox.Mesh.IndexBufferLockHandler handler)public System.Void LockVertexBuffer(Sandbox.Mesh.VertexBufferLockHandler`1<T> handler)public System.Void LockVertexBuffer(System.Int32 elementCount, Sandbox.Mesh.VertexBufferLockHandler`1<T> handler)public System.Void LockVertexBuffer(System.Int32 elementOffset, System.Int32 elementCount, Sandbox.Mesh.VertexBufferLockHandler`1<T> handler)public System.Void SetIndexBufferData(System.Collections.Generic.List`1<System.Int32> data, System.Int32 elementOffset = 0)public System.Void SetIndexBufferData(System.Span`1<System.Int32> data, System.Int32 elementOffset = 0)public System.Void SetIndexBufferSize(System.Int32 elementCount)public System.Void SetIndexRange(System.Int32 start, System.Int32 count)public System.Void SetVertexBufferData(System.Collections.Generic.List`1<T> data, System.Int32 elementOffset = 0)public System.Void SetVertexBufferData(System.Span`1<T> data, System.Int32 elementOffset = 0)public System.Void SetVertexBufferSize(System.Int32 elementCount)public System.Void SetVertexRange(System.Int32 start, System.Int32 count)public static System.Span`1<System.Int32> TriangulatePolygon(System.Span`1<Vector3> vertices)Propertiespublic BBox Sandbox.Mesh.Bounds { get; set; }public System.Boolean Sandbox.Mesh.HasIndexBuffer { get; set; }public System.Boolean Sandbox.Mesh.HasVertexBuffer { get; set; }public System.Int32 Sandbox.Mesh.IndexCount { get; set; }public virtual sealed System.Boolean Sandbox.Mesh.IsValid { get; set; }public Sandbox.Material Sandbox.Mesh.Material { get; set; }public Sandbox.MeshPrimitiveType Sandbox.Mesh.PrimitiveType { get; set; }public System.Single Sandbox.Mesh.UvDensity { get; set; }public System.Int32 Sandbox.Mesh.VertexCount { get; set; }Metadata