Alex Szpakowski
8c406b7a4b
Added anisotropic filtering functionality for images, consolidated mipmap methods into Image:setMipmapFilter(filtermode, sharpness, anisotropy), added love.graphics.setDefaultMipmapFilter(filtermode, sharpness, anisotropy)
2013-03-19 22:42:12 -03:00
Alex Szpakowski
f3290d84b7
Improved error handling and error messages when love.graphics.newShader fails
2013-03-18 22:55:41 -03:00
Alex Szpakowski
288971a3ad
Added all standard optional draw parameters to love.graphics.printf: angle, sx, sy, ox, oy, kx, and ky
2013-03-18 16:15:21 -03:00
Alex Szpakowski
991b15d670
More renaming of "fragment" to "pixel"
2013-03-18 04:07:18 -03:00
Alex Szpakowski
07ba81f060
Renamed all cases of "fragment shader" to "pixel shader"
2013-03-17 18:11:41 -03:00
Alex Szpakowski
e8c6a3f77c
Slightly improved error messages when love.graphics.newShader fails
2013-03-16 12:49:46 -03:00
Alex Szpakowski
d39cfbb4fa
Really fixed love.graphics.rectangle
2013-03-13 22:12:35 -03:00
Alex Szpakowski
7229dcae9f
Fixed love.graphics.rectangle
2013-03-13 22:03:42 -03:00
vrld
1a407a6af3
Make non-gcc compilers happy...
2013-03-13 23:09:25 +01:00
vrld
ece4ff6472
Make love.math a singleton. Remove code duplication. Add love.math.triangulate.
...
love::math::Math is now a singleton, so other modules can use it via
love::math::Math::instance.
Removed duplicate implementations of various rng helper functions.
ParticleSystem now uses love::math::Math's RNG.
New function: love.math.triangulate(vertices)
Accepts a table or list of x/y coordinate pairs and returns a table of tables.
The inner tables are the triangles the polygon is composed of.
Works on all *simple* polygons, i.e. a closed chain of vertices that does not
intersect itself. Attempting to triangulate non-simple polygons is undefined
behavior - in the best case it throws an error, in the worst case it returns
an invalid triangulation.
Polygons must be ordered in *clockwise order* with respect to the love
coordinate system. Attempting to triangulate a ccw polygon will throw an
error.
Examples:
triangles = love.math.triangulate(0,0, 1,1, 2,0, 2,2, 0,2)
triangles == {
{1,1, 2,0, 2,2},
{1,1, 2,2, 0,2},
{1,1, 0,2, 0,0},
}
triangles = love.math.triangulate({0,0, 1,1, 2,0, 2,2, 0,2})
-- same as above
triangles = love.math.triangulate(0,2, 2,2, 2,0, 1,1, 0,0)
-- error - polygons is in counterclockwise order
triangles = love.math.triangulate(0,0, 1,3, 2,0, 2,2, 0,2)
-- undefined behavior - polygon intersects itself (because of edge 1,3)
2013-03-13 20:48:39 +01:00
Alex Szpakowski
d383434edf
ParticleSystem:setColors now accepts multiple color arrays (issue #440 )
2013-03-13 14:38:58 -03:00
Alex Szpakowski
b8ec6633ab
Fixed love.graphics.printf wrapping when the wrap limit is the same as the text width (issue #558 )
2013-03-13 00:08:09 -03:00
Alex Szpakowski
1172d5b836
love.graphics.newScreenshot now uses the size of the current canvas (if applicable), instead of adding transparency or clipping to match the screen size
2013-03-12 20:52:24 -03:00
Alex Szpakowski
d39bb315af
love.graphics.newScreenshot replaces alpha with full opacity by default (issue #374 , thanks Boolsheet)
...
Some additional overhead was added to newScreenshot because it doesn't use glPixelTransfer (not supported in ES2 / core GL3+, and like all GL functions has the slight potential to be buggy on some drivers). This choice might be revisited in the future.
2013-03-12 20:48:40 -03:00
Alex Szpakowski
94f140454f
More Quad code cleanup
2013-03-11 22:46:25 -03:00
Alex Szpakowski
17bcab4f32
Added love.graphics.getDimensions and Image/Canvas/ImageData:getDimensions (issue #566 )
2013-03-11 19:03:37 -03:00
Alex Szpakowski
4704c4e19e
Cleaned up some ParticleSystem and Quad code
2013-03-11 17:56:55 -03:00
Alex Szpakowski
6a83eba5f2
Merged love-experiments/particlesystem-quads into default
2013-03-11 01:53:49 -03:00
Alex Szpakowski
318f335c7c
ParticleSystem:setQuads can now accept a table argument, cleaned up the ParticleSystem quad code
...
--HG--
branch : particlesystem-quads
2013-03-11 01:44:43 -03:00
Bart van Strien
7efe11b11f
Add centered flag to setMode, optionally centers the window (on by default, as before) (issue #463 )
2013-03-10 23:00:31 +01:00
Alex Szpakowski
d30809ebff
Added ParticleSystem:setQuads(q1, q2, ...), quads are chosen based on current particle lifetime in a similar style to ParticleSystem:setColors
...
--HG--
branch : particlesystem-quads
2013-03-10 03:40:25 -03:00
Alex Szpakowski
738f471978
Fixed shader creation
2013-03-07 17:47:40 -04:00
Alex Szpakowski
65a3206ae4
Fixed another case of issue #538 (check for non power of two support does not cover all possibilities)
2013-03-04 14:02:35 -04:00
Alex Szpakowski
2d7dd87eb5
Removed PixelEffect compatibility functions (love.graphics.newPixelEffect is now love.graphics.newShader, etc)
...
Also removed love.graphics.isSupported("pixeleffect") in favor of love.graphics.isSupported("shader")
2013-03-04 14:01:04 -04:00
Alex Szpakowski
524368331d
Removed love.graphics.setColorMode
...
- The "replace" color mode can easily be duplicated with love.graphics.setColor(255, 255, 255)
- The current color mode has no effect when a shader is active
- Color mode functionality can easily be replicated with shaders
- OpenGL ES 2 (iOS, Android, etc) does not have the functions used by love.graphics.setColorMode
2013-03-04 13:58:14 -04:00
Alex Szpakowski
4ae126ac44
Fixed some potential instability or crash issues
2013-03-03 20:23:40 -04:00
Alex Szpakowski
f0ca4f6c97
Removed internal code for love.graphics.triangle and love.graphics.quad
2013-03-03 18:49:56 -04:00
Bart van Strien
3d0c5761ce
Merge in default, update changelog
...
--HG--
branch : minor
2013-03-03 19:51:04 +01:00
Alex Szpakowski
d3cdb7d609
Added SpriteBatch:isEmpty() and SpriteBatch:isFull()
2013-03-01 17:32:38 -04:00
Alex Szpakowski
395a1dbced
The "alpha" blend mode now outputs more useful/intuitive alpha values (thanks Boolsheet)
...
See https://love2d.org/forums/viewtopic.php?f=4&t=16223 and http://www.opengl.org/discussion_boards/showthread.php/167554-FBO-and-blending
2013-02-26 21:44:01 -04:00
Alex Szpakowski
e5670e69b3
Added love.graphics.setColorMask(r, g, b, a) and love.graphics.getColorMask()
...
setColorMask enables or disables specific color components when rendering and clearing the screen.
For example, setColorMask(true, false, true, true) will prevent the green component of the color of all rendered objects from being written to the current frame buffer.
setColorMask is a wrapper for http://www.opengl.org/sdk/docs/man2/xhtml/glColorMask.xml
--HG--
branch : love.graphics.setColorMask
2013-02-26 11:24:30 -04:00
Alex Szpakowski
86ced3c70e
Simplified the error message on image creation failure
2013-02-24 15:02:56 -04:00
Alex Szpakowski
083218742a
Added love.graphics.origin(): resets the coordinate system (replaces the current transformation matrix with the identity)
...
--HG--
branch : love.graphics.origin
2013-02-24 14:07:03 -04:00
Alex Szpakowski
1d34dda48b
Removed SpriteBatch:remove(id) (reverted commit 2ca82dd)
...
The implementation had issues with sprite draw order when SpriteBatch:add used indices in the vertex buffer previously freed with SpriteBatch:remove
2013-02-24 09:47:03 -04:00
Alex Szpakowski
7d579308dc
LÖVE now errors when Image creation fails
2013-02-24 00:50:39 -04:00
Alex Szpakowski
472915a4bb
Worked around ATI/AMD driver bugs when creating mipmaps for Images
2013-02-23 15:52:03 -04:00
Alex Szpakowski
d9736ab3ab
Removed mipmap support from Font graphics objects
2013-02-19 14:21:01 -04:00
Alex Szpakowski
5bf78f891d
Fixed OpenGL vertex buffer function usage (issue #489.)
...
The functions will be assigned to their core version counterparts if the extension version isn't supported but the core version is.
2013-02-19 03:17:05 -04:00
Alex Szpakowski
23968d3b4a
Fixed image mipmap creation on some systems with buggy video drivers
2013-02-17 11:36:17 -04:00
Alex Szpakowski
8c21c4dce0
Fixed love.graphics.getBlendMode on systems which don't support the subtractive blend mode
2013-02-17 00:19:46 -04:00
Alex Szpakowski
a68bdfe7a2
Constified many Graphics and Window methods
2013-02-16 01:45:01 -04:00
Alex Szpakowski
eba8cbc0b5
Removed internal code support for multitexturing without shaders, since it's not currently used and there are no plans to do so
2013-02-16 01:04:00 -04:00
Alex Szpakowski
1945b7975d
Cleaned up exception handling code when creating new fonts, spritebatches, and shaders
2013-02-14 21:49:11 -04:00
Alex Szpakowski
e1779897ab
Removed love.graphics.drawTest
2013-02-14 08:03:55 -04:00
Alex Szpakowski
77ab120424
Fixed SpriteBatch file includes
2013-02-11 20:27:29 -04:00
Alex Szpakowski
ceb0ee6c7e
Added SpriteBatch:remove(id)
2013-02-11 18:27:57 -04:00
Alex Szpakowski
96161c66f6
Updated copyright text for the new year
2013-02-05 05:32:49 -04:00
Alex Szpakowski
e16b5afa6d
Fixed love.graphics.getPointStyle
2013-02-01 01:44:00 -04:00
Alex Szpakowski
a76ffd5715
Fixed VertexIndex::getElementSize
2013-01-30 19:01:14 -04:00
Alex Szpakowski
de959b7275
Added a method to VertexIndex to determine the size in bytes of an element in the index array
2013-01-30 17:50:32 -04:00