love.graphics.newCanvas

Available since LÖVE 0.8.0
It has been renamed from love.graphics.newFramebuffer.

Creates a new Canvas object for offscreen rendering.

O.png This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused!  



Function

Synopsis

canvas = love.graphics.newCanvas( )

Arguments

None.

Returns

Canvas canvas
A new Canvas with dimensions equal to the window's size in pixels.

Function

Synopsis

canvas = love.graphics.newCanvas( width, height )

Arguments

number width
The desired width of the Canvas.
number height
The desired height of the Canvas.

Returns

Canvas canvas
A new Canvas with specified width and height.

Function

Available since LÖVE 11.0
This variant is not supported in earlier versions.

Creates a 2D or cubemap Canvas using the given settings.

Synopsis

canvas = love.graphics.newCanvas( width, height, settings )

Arguments

number width
The desired width of the Canvas.
number height
The desired height of the Canvas.
table settings
A table containing the given fields:
TextureType type ("2d")
The type of Canvas to create.
PixelFormat format ("normal")
The format of the Canvas.
boolean readable
Whether the Canvas is readable (drawable and accessible in a Shader). True by default for regular formats, false by default for depth/stencil formats.
number msaa (0)
The desired number of multisample antialiasing (MSAA) samples used when drawing to the Canvas.
number dpiscale (love.graphics.getDPIScale())
The DPI scale factor of the Canvas, used when drawing to the Canvas as well as when drawing the Canvas to the screen.
MipmapMode mipmaps ("none")
Whether the Canvas has mipmaps, and whether to automatically regenerate them if so.

Returns

Canvas canvas
A new Canvas with specified width and height.

Notes

Some Canvas formats have higher system requirements than the default format. Use love.graphics.getCanvasFormats to check for support.

Function

Available since LÖVE 11.0
This variant is not supported in earlier versions.

Creates a volume or array texture-type Canvas.

Synopsis

canvas = love.graphics.newCanvas( width, height, layers, settings )

Arguments

number width
The desired width of the Canvas.
number height
The desired height of the Canvas.
number layers
The number of array layers (if the Canvas is an Array Texture), or the volume depth (if the Canvas is a Volume Texture).
table settings
A table containing the given fields:
TextureType type ("array")
The type of Canvas to create.
PixelFormat format ("normal")
The format of the Canvas.
boolean readable
Whether the Canvas is readable (drawable and accessible in a Shader). True by default for regular formats, false by default for depth/stencil formats.
number msaa (0)
The desired number of multisample antialiasing (MSAA) samples used when drawing to the Canvas.
number dpiscale (love.graphics.getDPIScale())
The DPI scale factor of the Canvas, used when drawing to the Canvas as well as when drawing the Canvas to the screen.
MipmapMode mipmaps ("none")
Whether the Canvas has mipmaps, and whether to automatically regenerate them if so.

Returns

Canvas canvas
A new Canvas with specified width and height.

Notes

Not all texture types are supported by all systems. love.graphics.getTextureTypes can check for support.

Function

Available since LÖVE 0.9.0 and removed in LÖVE 11.0
This variant is not supported in earlier or later versions.

Synopsis

canvas = love.graphics.newCanvas( width, height, format )

Arguments

number width (window_width)
The desired width of the Canvas.
number height (window_height)
The desired height of the Canvas.
CanvasFormat format ("normal")
The desired texture format of the Canvas.

Returns

Canvas canvas
A new Canvas with specified width and height.

Notes

Some Canvas formats have higher system requirements than the default format. Use love.graphics.getCanvasFormats to check for support.

Function

Available since LÖVE 0.9.1 and removed in LÖVE 11.0
This variant is not supported in earlier or later versions.

Synopsis

canvas = love.graphics.newCanvas( width, height, format, msaa )

Arguments

number width (window_width)
The desired width of the Canvas.
number height (window_height)
The desired height of the Canvas.
CanvasFormat format ("normal")
The desired texture format of the Canvas.
number msaa (0)
The desired number of multisample antialiasing (MSAA) samples used when drawing to the Canvas.

Returns

Canvas canvas
A new Canvas with specified width and height.

Notes

  • Not all texture types are supported by all systems. love.graphics.getTextureTypes can check for support.
  • Some Canvas formats have higher system requirements than the default format. Use love.graphics.getCanvasFormats to check for support.
  • The supported maximum number of MSAA samples varies depending on the system. Use love.graphics.getSystemLimits to check.
  • If the number of MSAA samples specified is greater than the maximum supported by the system, the Canvas will still be created but only using the maximum supported amount (this includes 0.)

See Also


Other Languages