# love.graphics.polygon

Draw a polygon.

Following the mode argument, this function can accept multiple numeric arguments or a single table of numeric arguments. In either case the arguments are interpreted as alternating x and y coordinates of the polygon's vertices.

Note: when in fill mode, the polygon must be convex and simple or rendering artifacts may occur. love.math.triangulate and love.math.isConvex can be used in 0.9.0+.

## Function

### Synopsis

    love.graphics.polygon( mode, ... )

### Arguments

`DrawMode mode`
  How to draw the polygon.
`number ...`
  The vertices of the polygon.

### Returns

Nothing.

## Function

### Synopsis

    love.graphics.polygon( mode, vertices )

### Arguments

`DrawMode mode`
  How to draw the polygon.
`table vertices`
  The vertices of the polygon as a table.

### Returns

Nothing.

## Examples

### Two ways of drawing the same triangle

This example shows how to give the coordinates explicitly and how to pass a table argument.

    -- giving the coordinates directly
    love.graphics.polygon('fill', 100, 100, 200, 100, 150, 200)

    -- defining a table with the coordinates
    -- this table could be built incrementally too
    local vertices = {100, 100, 200, 100, 150, 200}

    -- passing the table to the function as a second argument
    love.graphics.polygon('fill', vertices)

## See Also

- love.graphics
- love.math.triangulate
- love.math.isConvex

##

Category:

- Functions