Difference between revisions of "love.graphics.drawLayer"

(Created page)
 
m
Line 42: Line 42:
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
Nothing.
 +
=== Notes ===
 +
The specified layer index overrides any layer index set on the Quad via [[Quad:setLayer]].
  
 
== Function ==
 
== Function ==
Line 67: Line 69:
 
=== Returns ===
 
=== Returns ===
 
Nothing.
 
Nothing.
 +
=== Notes ===
 +
The specified layer index overrides any layer index set on the Quad via [[Quad:setLayer]].
  
 
== Notes ==
 
== Notes ==

Revision as of 01:31, 21 January 2018

Available since LÖVE 0.11.0
This function is not supported in earlier versions.

Draws a layer of an Array Texture.

Function

Synopsis

love.graphics.drawLayer( texture, layerindex, x, y, r, sx, sy, ox, oy, kx, ky )

Arguments

Texture texture
The Array Texture to draw.
number layerindex
The index of the layer to use when drawing.
number x (0)
The position to draw the texture (x-axis).
number y (0)
The position to draw the texture (y-axis).
number r (0)
Orientation (radians).
number sx (1)
Scale factor (x-axis).
number sy (sx)
Scale factor (y-axis).
number ox (0)
Origin offset (x-axis).
number oy (0)
Origin offset (y-axis).
number kx (0)
Shearing factor (x-axis).
number ky (0)
Shearing factor (y-axis).

Returns

Nothing.

Function

Synopsis

love.graphics.drawLayer( texture, layerindex, quad, x, y, r, sx, sy, ox, oy, kx, ky )

Arguments

Texture texture
The Array Texture to draw.
number layerindex
The index of the layer to use when drawing.
Quad quad
The subsection of the texture's layer to use when drawing.
number x (0)
The position to draw the texture (x-axis).
number y (0)
The position to draw the texture (y-axis).
number r (0)
Orientation (radians).
number sx (1)
Scale factor (x-axis).
number sy (sx)
Scale factor (y-axis).
number ox (0)
Origin offset (x-axis).
number oy (0)
Origin offset (y-axis).
number kx (0)
Shearing factor (x-axis).
number ky (0)
Shearing factor (y-axis).

Returns

Nothing.

Notes

The specified layer index overrides any layer index set on the Quad via Quad:setLayer.

Function

Synopsis

love.graphics.drawInstanced( texture, layerindex, transform )

Arguments

Mesh mesh
The Array Texture to draw.
number layerindex
The index of the layer to use when drawing.
Transform transform
A transform object.

Returns

Nothing.

Function

Synopsis

love.graphics.drawInstanced( texture, layerindex, quad, transform )

Arguments

Mesh mesh
The Array Texture to draw.
number layerindex
The index of the layer to use when drawing.
Quad quad
The subsection of the texture's layer to use when drawing.
Transform transform
A transform object.

Returns

Nothing.

Notes

The specified layer index overrides any layer index set on the Quad via Quad:setLayer.

Notes

In order to use an Array Texture or other non-2D texture types as the main texture in a custom Shader, the void effect() variant must be used in the pixel shader, and MainTex must be declared as an ArrayImage or sampler2DArray like so: uniform ArrayImage MainTex;.

Examples

Draw multiple layers of an Array Image

function love.load()
    local sprites = {"sprite1.png", "sprite2.png"}
    image = love.graphics.newArrayImage(sprites)
end

function love.draw()
    love.graphics.drawLayer(image, 1, 50, 50)
    love.graphics.drawLayer(image, 2, 250, 50)
end

Use a custom shader with love.graphics.drawLayer

shader = love.graphics.newShader[[
uniform ArrayImage MainTex;

void effect() {
    // Texel uses a third component of the texture coordinate for the layer index, when an Array Texture is passed in.
    // love sets up the texture coordinates to contain the layer index specified in love.graphics.drawLayer, when
    // rendering the Array Texture.
    love_PixelColor = Texel(MainTex, VaryingTexCoord.xyz) * VaryingColor;
}
]]

function love.load()
    local sprites = {"sprite1.png", "sprite2.png"}
    image = love.graphics.newArrayImage(sprites)
end

function love.draw()
    love.graphics.setShader(shader)
    love.graphics.drawLayer(image, 1, 50, 50)
    love.graphics.drawLayer(image, 2, 250, 50)
end

See Also


Other Languages