static void Draw( GpuBuffer<T> vertexBuffer, Material material, int startVertex, int vertexCount, RenderAttributes attributes, Sandbox.Graphics/PrimitiveType primitiveType )
static void Draw( GpuBuffer<T> vertexBuffer, GpuBuffer indexBuffer, Material material, int startIndex, int indexCount, RenderAttributes attributes, Sandbox.Graphics/PrimitiveType primitiveType )
static void Draw( System.Span<Vertex> vertices, int vertCount, Material material, RenderAttributes attributes, Sandbox.Graphics/PrimitiveType primitiveType )
static void Draw( List<Vertex> vertices, int vertCount, Material material, RenderAttributes attributes, Sandbox.Graphics/PrimitiveType primitiveType )
static void Draw( System.Span<Vertex> vertices, int vertCount, System.Span<System.UInt16> indices, int indexCount, Material material, RenderAttributes attributes, Sandbox.Graphics/PrimitiveType primitiveType )

book_4_sparkGenerated
code_blocksInput

Description

The Draw method in the Sandbox.Graphics class is a static method used to render a set of vertices to the screen. This method is part of the rendering pipeline and allows you to specify a vertex buffer, material, and other rendering attributes to draw graphics primitives.

Usage

To use the Draw method, you need to provide the following parameters:

  • vertexBuffer: A GpuBuffer<T> containing the vertices to be drawn. This buffer should be filled with vertex data before calling this method.
  • material: A Material object that defines the appearance of the drawn vertices. This includes shaders and textures.
  • startVertex: An int specifying the starting index in the vertex buffer from which to begin drawing.
  • vertexCount: An int indicating the number of vertices to draw from the vertex buffer.
  • attributes: A RenderAttributes object that provides additional rendering settings, such as transformation matrices and lighting parameters.
  • primitiveType: A Graphics.PrimitiveType enum value that specifies the type of primitive to render, such as triangles, lines, or points.

Example

// Example usage of the Draw method
GpuBuffer<Vertex> vertexBuffer = new GpuBuffer<Vertex>(vertices);
Material material = new Material("myShader");
int startVertex = 0;
int vertexCount = vertices.Length;
RenderAttributes attributes = new RenderAttributes();
Graphics.PrimitiveType primitiveType = Graphics.PrimitiveType.TriangleList;

// Draw the vertices
Graphics.Draw(vertexBuffer, material, startVertex, vertexCount, attributes, primitiveType);