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
86ced3c70e
Simplified the error message on image creation failure
2013-02-24 15:02:56 -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
Alex Szpakowski
a9211a1389
Removed direct OpenGL calls in the SDL Window module
2013-01-30 00:27:46 -04:00
Alex Szpakowski
7a16e4cb49
Made Visual Studio play nice with the C++ STL min/max functions in the new shader code
2013-01-29 13:01:34 -04:00
Alex Szpakowski
7384bf15d3
Merged rude/love into default
2013-01-29 11:25:38 -04:00
Alex Szpakowski
02d2a872ab
Improved shader member variable names, fixed up XCode project file
2013-01-29 04:34:36 -04:00
Bart van Strien
0fd4b147a4
Merge in default
...
--HG--
branch : minor
2013-01-27 19:15:55 +01:00
Alex Szpakowski
5cae5ea37e
Removed code for tesselation and geometry shader detection
2013-01-24 18:26:40 -04:00
Alex Szpakowski
022f549554
Use unsigned ints instead of unsigned shorts to represent UTF8 font glyphs
2013-01-22 23:43:35 -04:00