Array textures can be easily drawn without a shader (resolves issue #1111).

Added love.graphics.drawLayer(texture, layerindex, …). ‘texture’ must be an array texture.
Added SpriteBatch:add/setLayer.

Added Quad:get/setLayer. This applies to array textures that are drawn without specifying an explicit layer index in the draw call.

Added love.graphics.newQuad variants which have layer arguments.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2017-02-26 17:11:22 -04:00
parent 9ba7234f14
commit 66b299822a
27 changed files with 559 additions and 295 deletions
+17
View File
@@ -74,11 +74,28 @@ int w_Quad_getTextureDimensions(lua_State *L)
return 2;
}
int w_Quad_setLayer(lua_State *L)
{
Quad *quad = luax_checkquad(L, 1);
int layer = (int) luaL_checknumber(L, 2) - 1;
quad->setLayer(layer);
return 0;
}
int w_Quad_getLayer(lua_State *L)
{
Quad *quad = luax_checkquad(L, 1);
lua_pushnumber(L, quad->getLayer() + 1);
return 1;
}
static const luaL_Reg w_Quad_functions[] =
{
{ "setViewport", w_Quad_setViewport },
{ "getViewport", w_Quad_getViewport },
{ "getTextureDimensions", w_Quad_getTextureDimensions },
{ "setLayer", w_Quad_setLayer },
{ "getLayer", w_Quad_getLayer },
{ 0, 0 }
};