GraphicsDevice.DrawPrimitives Method

Renders a sequence of non-indexed geometric primitives of the specified type from the current set of data input streams.

Namespace: Microsoft.Xna.Framework.Graphics
Assembly: Microsoft.Xna.Framework.Graphics (in

public void DrawPrimitives (
         PrimitiveType primitiveType,
         int startVertex,
         int primitiveCount


Describes the type of primitive to render.
Index of the first vertex to load. Beginning at startVertex, the correct number of vertices is read out of the vertex buffer.
Number of primitives to render. The primitiveCount is the number of primitives as determined by the primitive type. If it is a line list, each primitive has two vertices. If it is a triangle list, each primitive has three vertices.

Exception typeCondition
ArgumentOutOfRangeException primitiveCount is less than or equal to zero. When drawing, at least one primitive must be drawn.

One of the following conditions is true:

  • A valid vertex shader and pixel shader was not set before calling DrawPrimitives. Both a valid vertex shader and pixel shader (or valid effect) must be set on the device before any draw operations may be performed.
  • The active render target and depth stencil surface do not have the same pixel size and multisampling type.

DrawPrimitives should not be called with a single triangle at a time.

Xbox 360, Windows 7, Windows Vista, Windows XP, Windows Phone 7