Alex Szpakowski
90a3c2b8ba
Added Text:setFont.
2015-04-27 04:19:03 -03:00
Alex Szpakowski
33e1d2736d
Removed restrictions preventing sRGB and non-sRGB canvases from being used together when doing multi-canvas rendering.
2015-04-25 21:32:10 -03:00
Alex Szpakowski
5c49898cdf
Fixed lines drawn using the 'none' line join mode having missing sections of each line segment.
2015-04-25 18:56:47 -03:00
Alex Szpakowski
c62b005ff3
Changed the default mipmap filter to be 'linear' instead of 'nearest'.
2015-04-13 12:51:48 -03:00
Alex Szpakowski
d8a68d6ce1
Updated iOS-specific graphics code to use the latest SDL changes.
2015-04-13 12:26:54 -03:00
Alex Szpakowski
2844499ef7
Added the ability to have custom vertex attributes in Meshes (resolves issue #768.)
...
Added new love.graphics.newMesh variants: newMesh(vertexformat, vertices [, drawmode, meshusage]) and newMesh(vertexformat, numvertices [, drawmode, meshusage]).
Replaced the regular love.graphics.newMesh variants with newMesh(vertices [, drawmode, meshusage]) and newMesh(numvertices [, drawmode, meshusage]). To use an image or canvas with a mesh, use Mesh:setTexture.
vertexformat is a table with the following prototype:
{
{attributename, datatype, components},
{attributename, datatype, components},
...
}
Where attributename is the name of the vertex attribute (can be the built-in names 'VertexPosition', 'VertexTexCoord', or 'VertexColor', or a custom name for use in a vertex shader), datatype is the type of values used for the attribute ('float' or 'byte'), and components is the number of components in the vertex attribute (between 1 and 4.)
The vertex format is used to determine the layout of the vertices in the mesh, for example the 'regular' newMesh variants use this vertex format:
format = {
{"VertexPosition", "float", 2},
{"VertexTexCoord", "float", 2},
{"VertexColor", "byte", 4},
}
The mesh usage parameter accepts the same constants as the spritebatch usage hint in love.graphics.newSpriteBatch - "dynamic", "static", and "stream".
Mesh:setVertex now sets *all* vertex attributes for a specific vertex in the Mesh.
Added Mesh:setVertexAttribute(vertexindex, attributeindex, attributevalue1, ...), which sets the values for a specific vertex attribute in a specific vertex in the Mesh (resolves issue #784.)
Added Mesh:getVertexFormat and Mesh:flush.
Added Mesh:setAttributeEnabled(attributename, enable) and Mesh:isAttributeEnabled(attributename), to enable or disable the use of a specific attribute when drawing the Mesh.
Added Mesh:attachAttribute(attributename, mesh), which makes the Mesh use a vertex attribute from another mesh when drawing the Mesh. This can be used to separate out vertex attributes which are updated at different rates into different meshes, and to share vertex data between multiple meshes.
Removed Mesh:setVertices, Mesh:getVertices, and Mesh:setVertexColors.
2015-04-08 22:24:17 -03:00
Alex Szpakowski
f8ff50cfde
Fixed Image:refresh for sRGB images when OpenGL ES 2 is being used.
2015-04-05 17:35:19 -03:00
Alex Szpakowski
cf0968fc6d
Avoid some VC++ compiler warnings
2015-04-02 00:28:09 -03:00
Alex Szpakowski
2a6bffaa5a
Prevent sRGB and non-sRGB Canvas formats from being used together in multi-canvas rendering (MRTs), due to driver bugs.
2015-03-29 23:51:08 -03:00
Dermoumi Sid
6a07823224
Fixed shearing resetting transformations
2015-03-29 12:37:18 +01:00
Alex Szpakowski
3aafab9607
Hopefully fixed compilation in Windows.
2015-03-26 22:16:17 -03:00
Alex Szpakowski
a29b349014
Added love.math.compress(data, format [, level]) and love.math.decompress(compresseddata) / love.math.decompress(compressedstring, format).
...
Renamed the love.image CompressedData type to CompressedImageData.
love.math.compress returns a love.math CompressedData object which holds the newly compressed data. Currently supported formats are "lz4" and "zlib". Note that the formats are not file formats and don't compress filesystem hierarchies.
2015-03-23 11:28:14 -03:00
Alex Szpakowski
e237ed2432
love.graphics.discard now accepts a table of booleans indicating which of the active canvases to discard (matches love.graphics.clear.)
2015-03-21 02:36:13 -03:00
Alex Szpakowski
d31168c0e0
Cleaned up some graphics code.
2015-03-20 00:16:36 -03:00
Alex Szpakowski
a36dbc3d49
Only update the shader point size in OpenGL ES 2 when it's been modified, rather than before every draw.
2015-03-17 17:24:45 -03:00
Alex Szpakowski
06ef263537
Added OpenGL debug groups for most graphics operations when love is built in debug mode for iOS. The Xcode frame capture tool uses them to create nice visual groups for OpenGL function calls.
2015-03-16 22:55:58 -03:00
Alex Szpakowski
14cbc91e7f
Fixed a memory leak in love.graphics.newText.
2015-03-16 03:13:10 -03:00
Alex Szpakowski
d00773b974
Updated GLAD for the latest GL and GLES extensions.
2015-03-15 23:45:08 -03:00
Alex Szpakowski
468127eed4
Added a variant of love.graphics.clear which accepts a color table argument for each active canvas, allowing it to clear active canvases to different colors without having to call love.graphics.setCanvas.
2015-03-15 15:15:21 -03:00
Alex Szpakowski
a119e6a862
Added an optional spacing argument to love.graphics.newImageFont, allowing additional spacing (positive or negative) to be applied to all glyphs rendered using that font.
2015-03-11 18:28:22 -03:00
Alex Szpakowski
b1f4beac56
Fixed the internal color mask state not being updated when love.graphics.setColorMask is called.
2015-03-10 01:13:39 -03:00
Alex Szpakowski
2e8f19930c
Fixed love.graphics.stencil
2015-03-09 23:08:42 -03:00
Alex Szpakowski
52b2701cf0
Removed love.graphics.clearStencil. love.graphics.stencil now clears the stencil buffer unless true is passed as an optional second argument ('keep the existing contents'.)
2015-03-09 23:05:29 -03:00
Alex Szpakowski
4ef0d257e9
Added an optional font hinting argument to love.graphics.newFont / love.font.newRasterizer when loading TrueType fonts. Resolves issue #963 .
...
Accepted values are "normal", "light", "mono", and "none".
2015-03-07 22:05:37 -04:00
Alex Szpakowski
4dc73959a6
Hopefully fixed a major bug related to using Shader:send with textures.
2015-03-06 02:08:33 -04:00
Alex Szpakowski
b39036eaa5
Added Image:getFlags.
2015-03-04 23:07:05 -04:00
Alex Szpakowski
c561308c96
Font:getWrap's second return value is now a table containing the text split into lines. Resolves issue #1002 .
2015-03-04 20:35:41 -04:00
Alex Szpakowski
4fa5ab4a07
Fixed the winding order of triangles in SpriteBatches and ParticleSystems.
2015-03-04 16:03:01 -04:00
Alex Szpakowski
4263de89ab
The default offset for particles in a ParticleSystem is now updated when ParticleSystem:setQuads or ParticleSystem:setTexture is used (resolves issue #998.)
2015-03-04 03:57:41 -04:00
Alex Szpakowski
e2652fddc1
Updated the readme.
2015-03-04 03:21:26 -04:00
Alex Szpakowski
06fa7bd7a4
Don't enable SDL_GL_FRAMEBUFFER_SRGB_CAPABLE in Linux when creating the window, to work around a potential bug. sRGB windows are still possible even without that.
2015-03-03 17:48:19 -04:00
Alex Szpakowski
8277eb9abd
Renamed the internal OpenGL buffer class from VertexBuffer to GLBuffer.
2015-03-03 02:21:28 -04:00
Alex Szpakowski
d7667ea8fc
Updated changelog.
2015-03-03 00:49:46 -04:00
Alex Szpakowski
275a9a300f
Multi-canvas rendering (love.graphics.setCanvas with multiple canvases) now allows canvases with different formats, if the system supports it. Added 'multicanvasformats' to the table returned by love.graphics.getSupported.
...
--HG--
branch : minor
2015-03-02 23:43:09 -04:00
Alex Szpakowski
3ced9ca38f
Added one- and two-channel Canvas formats: r8, rg8, r16f, rg16f, r32f, and rg32f.
...
--HG--
branch : minor
2015-03-02 18:06:14 -04:00
Alex Szpakowski
3fea174008
Cleaned up some shader code.
...
--HG--
branch : minor
2015-03-02 15:18:12 -04:00
Alex Szpakowski
3536f2665f
love.graphics.clear can accept an array of color components.
...
--HG--
branch : minor
2015-03-02 02:32:53 -04:00
Alex Szpakowski
bf5f0b4175
bmp isn't a supported format for ImageData:encode.
...
--HG--
branch : minor
2015-03-01 23:38:34 -04:00
Alex Szpakowski
2f419c1c83
Replaced most cases of type bits and type name strings in love's Lua wrapper code with type id's.
...
--HG--
branch : minor
2015-03-01 18:32:41 -04:00
Alex Szpakowski
3830a0969c
Moved the Texture and Quad Lua wrapper files out of the opengl graphics implementation folder.
...
--HG--
branch : minor
2015-03-01 03:51:44 -04:00
Alex Szpakowski
395bb0bea8
Fixed a crash when Canvas:newImageData should error.
...
--HG--
branch : minor
2015-02-28 16:22:02 -04:00
Alex Szpakowski
faa4a33fe9
Use triangle strips rather than triangle fans when possible.
...
--HG--
branch : minor
2015-02-28 02:32:34 -04:00
Alex Szpakowski
9a2bf4b210
Fixed the check for OpenGL extensions that support glInvalidateFramebuffer to check for GL_ARB_invalidate_subdata instead of GL_ARB_ES3_compatibility.
...
--HG--
branch : minor
2015-02-27 23:34:08 -04:00
Alex Szpakowski
b9c90e8a6f
Fixed the background color for the error screen, and updated LodePNG to the latest version.
...
--HG--
branch : minor
2015-02-27 21:20:31 -04:00
Alex Szpakowski
b52b9c7a2b
Added love.graphics.discard, which discards the contents of the screen (or currently active Canvas.)
...
Using it just after activating a Canvas can improve performance on many mobile devices, if the conditions for using it are right.
--HG--
branch : minor
2015-02-27 04:51:38 -04:00
Alex Szpakowski
1326ae9a5d
Added love.graphics.clearStencil, which only clears the stencil buffer.
...
--HG--
branch : minor
2015-02-27 03:58:40 -04:00
Alex Szpakowski
3efcf3901b
Removed Canvas:clear. love.graphics.clear now accepts r,g,b,a values (and defaults to 0,0,0,0 with no arguments given.) love.graphics.clear clears the content of the currently active Canvas(es.)
...
--HG--
branch : minor
2015-02-27 03:47:25 -04:00
Alex Szpakowski
f83c2db471
Cleaned up the Canvas code.
...
--HG--
branch : minor
2015-02-26 17:06:09 -04:00
Alex Szpakowski
a66a7b7ce9
Prevent invalid stencil buffer contents from being used when switching to a Canvas on mobile.
...
--HG--
branch : minor
2015-02-26 01:00:38 -04:00
Alex Szpakowski
e8ce59038f
Renamed Canvas:getImageData to Canvas:newImageData (see issue #1001.)
...
--HG--
branch : minor
2015-02-26 00:13:46 -04:00