# Sandbox.Rendering.CommandList.DrawModelInstanced

## Overload 1

```csharp
void DrawModelInstanced(Model model, System.Span<Transform> transforms, int lodLevel, RenderAttributes attributes = null)
```

### Parameters

- `model` (`Model`)
- `transforms` (`System.Span<Transform>`)
- `lodLevel` (`int`)
- `attributes` (`RenderAttributes`), default `null`

## Overload 2

```csharp
void DrawModelInstanced(Model model, System.Span<Transform> transforms, RenderAttributes attributes = null)
```

### Parameters

- `model` (`Model`)
- `transforms` (`System.Span<Transform>`)
- `attributes` (`RenderAttributes`), default `null`

## Overload 3

```csharp
void DrawModelInstanced(Model model, int count, RenderAttributes attributes = null)
```

Draws multiple instances of a model using GPU instancing.
This is similar to [Sandbox.Rendering.CommandList.DrawModelInstancedIndirect](/api/Sandbox.Rendering.CommandList/DrawModelInstancedIndirect),
except the count is provided from the CPU rather than via a GPU buffer.
            
Use `SV_InstanceID` semantic in shaders to access the rendered instance.

### Parameters

- `model` (`Model`): The model to draw
- `count` (`int`): The number of instances to draw
- `attributes` (`RenderAttributes`), default `null`: Optional attributes to apply only for this draw call

Declared in [Sandbox.Rendering.CommandList](/api/Sandbox.Rendering.CommandList).
Assembly: `Sandbox.Engine`.
