Alex Szpakowski
ed3f419747
Prevent redundant calls to glEnable/DisableVertexAttribArray. This should hopefully fix a performance regression compared to 0.9.2 as well.
2015-06-23 20:55:23 -03:00
Alex Szpakowski
c82ccbb89b
love.graphics.setColor no longer uses the main per-vertex color attribute. This lets it affect the color of ParticleSystems, and SpriteBatches and Meshes even when they use custom per-vertex colors.
2015-06-21 11:20:26 -03:00
Alex Szpakowski
2dc8a8ea45
Cleaned up some index buffer code.
2015-06-16 21:27:19 -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
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
8277eb9abd
Renamed the internal OpenGL buffer class from VertexBuffer to GLBuffer.
2015-03-03 02:21:28 -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
ebc68023a7
Fix many warnings about implicit integer conversions when compiling for 64 bits.
...
--HG--
branch : minor
2015-02-20 01:20:08 -04:00
Alex Szpakowski
ad1fbbf3ea
Merged default into minor
...
--HG--
branch : minor
2015-01-29 21:27:05 -04:00
Alex Szpakowski
cf60cf89fc
De-namespaced a class, to make it less verbose.
2015-01-24 04:09:56 -04:00
Alex Szpakowski
1124612c1f
Some work towards OpenGL ES 2+ support for love 0.10.
...
--HG--
branch : minor
2015-01-19 23:32:16 -04:00
Alex Szpakowski
a7e4148869
Merged default into minor
...
--HG--
branch : minor
2015-01-16 15:47:26 -04:00
Alex Szpakowski
c7b45b3505
Updated copyright for the new year
2014-12-31 19:32:43 -04:00
Alex Szpakowski
aba33bf2e7
Merged default into minor
...
--HG--
branch : minor
2014-09-20 00:34:34 -03:00
Alex Szpakowski
7f490c4c30
Added ParticleSystem:setLinearDamping and ParticleSystem:getLinearDamping (resolves issue #803.)
2014-09-19 21:00:04 -03:00
Alex Szpakowski
3a51f0ad08
Changed the love.graphics internal code to always use a default shader when none is set externally, and replaced the deprecated OpenGL vertex attribute code with the equivalent generic vertex attribute functions.
...
This will simplify the code and make it more maintainable when OpenGL ES 2+ support is added, compared to using the deprecated VA functions on desktop GL and the generic VA functions on GLES.
--HG--
branch : minor
2014-08-26 03:24:42 -03:00
Alex Szpakowski
8ffe610659
Added love.graphics.getStats. It returns a table with performance-related graphics statistics. Currently it contains these fields:
...
drawcalls: The number of internal draw calls made so far in the current frame.
canvasswitches: The number of times the active Canvas has been changed so far in the current frame.
texturememory: The approximate amount of video memory (in bytes) used by OpenGL textures created by Images, Canvases, and Fonts.
images: The number of active Image objects.
canvases: The number of active Canvas objects.
fonts: The number of active Font objects.
2014-08-21 15:01:29 -03:00
Alex Szpakowski
d59c76a55f
Reduced the number of explicit retain/release method calls on love objects. Less chance of bugs!
2014-08-07 14:53:17 -03:00
Alex Szpakowski
afc505e183
Added stack type enums to love.graphics.push (resolves issue #906.) Current enums are "transform" and "all". "transform" is the default (for compatibility.) When love.graphics.push("all") is used, love.graphics.pop() will restore all love.graphics module state to what it was when push was called.
...
Updated the graphics code to use a custom matrix stack rather than OpenGL1's APIs.
2014-08-06 22:25:29 -03:00
Alex Szpakowski
b9cd93e071
Re-added ParticleSystem:setQuads(q1, q2, ...). Active particles use the quads based on the particle's lifetime in a similar style to ParticleSystem:setColors and ParticleSystem:setSizes.
2014-06-15 18:20:05 -03:00
Alex Szpakowski
e4dc533bb2
Minor code cleanup
2014-05-01 14:12:21 -03:00
Alex Szpakowski
615492540d
Added ParticleSystem:setRelativeRotation. If enabled, particle rotations and angles will be relative to their current velocities.
2014-02-06 05:46:47 -04:00
Alex Szpakowski
a7ed581204
Reverted ParticleSystem:setPosition’s functionality to 0.9.0’s beheaviour, added ParticleSystem:moveTo which has the new behaviour (new particles spawn in a line between the old position and where the emitter was moved to.)
2014-01-28 03:20:08 -04:00
Alex Szpakowski
6b538b5827
The emission rate for ParticleSystems is no longer restricted to integer numbers.
2014-01-27 23:42:26 -04:00
Alex Szpakowski
7556fde5e6
Added antialiasing (MSAA) support to Canvases via a new optional parameter. Added Canvas:getFSAA.
2014-01-27 01:31:41 -04:00
Alex Szpakowski
29f47d9a10
Changed particle spawning behaviour in ParticleSystems to spawn at an interpolated position between the location at the previous update and the current one. This results in much smoother behaviour when moving a ParticleSystem constantly via ParticleSystem:setPosition.
...
Also fixed particle spawning to better fill up the buffer.
2014-01-16 16:20:30 -04:00
Alex Szpakowski
3120a0e650
Goodbye 2013, hello 2014!
2014-01-03 17:28:58 -04:00
Alex Szpakowski
aa69a695d3
Canvases can now be used in SpriteBatches, ParticleSystems, and Meshes (resolves issue #782 ).
...
Canvases and Images are now subclasses of the new Texture class.
Added setTexture and getTexture methods for Meshes, ParticleSystems, and SpriteBatches (the old set/getImage methods are deprecated but not removed.)
Canvas texture coordinates are no longer flipped.
2014-01-03 17:07:12 -04:00
Alex Szpakowski
27f36455e8
Fixed ParticleSystem:clone not duplicating position and area spread properly
2013-12-28 01:51:50 -04:00
Alex Szpakowski
bccac13432
Added ParticleSystem:clone()
2013-12-25 05:30:07 -04:00
rude
27de844472
Include <algorithm> when std::min/max is used.
...
It won't build in Visual Studio 2013 unless we do this.
2013-10-23 00:09:12 +02:00
Alex Szpakowski
43b3629e01
Improved performance of Image:refresh
2013-10-13 16:31:29 -03:00
Alex Szpakowski
fb34f5bc9e
Auto-padded NPOT images' texture coordinates are now scaled at draw time via the texture matrix (fixes auto-padded images with Meshes.) Also fixed love.graphics.newQuad.
...
--HG--
branch : Mesh
2013-10-06 23:25:29 -03:00
Alex Szpakowski
bcee9a222b
Made some float/int/unsigned char conversions explicit, fixed ParticleSystem:getColors, fixed love.mouse.isDown with x1 and x2 buttons
2013-09-26 00:36:50 -03:00
Alex Szpakowski
5de43a7207
The Vertex struct is now recognized as POD by C++, also fixed the name to be consistent with other love structs
2013-09-24 11:09:18 -03:00
Alex Szpakowski
713e050b56
Removed some ParticleSystem methods which existed but did nothing since version 0.5.0 or earlier
2013-08-22 00:30:58 -03:00
Alex Szpakowski
dc755ed375
Removed ParticleSystem:getX/getY (resolves issue #633 )
2013-08-04 18:27:36 -03:00
Alex Szpakowski
0447d1e7c5
Changed love.math.randomnormal([mean], stddev) to love.math.randomNormal(stddev, [mean]);
...
Changed love.math.randomseed(seed) to love.math.setRandomState(state) and love.math.setRandomState(low, high). Added low, high = love.math.getRandomState().
love.math.setRandomState(state) can set the random state to an integer of up to 53 bits, love.math.setRandomState(low, high) can set the random state to a 64 bit integer by using the first argument as the lower 32 bits and the second argument as the higher 32 bits.
This allows for reliable setting and saving of the state of a RNG.
--HG--
branch : RandomGenerator-2
2013-08-01 18:32:44 -03:00
Alex Szpakowski
d5ef29e015
Removed the optional variation parameter from ParticleSystem:setSpin (issue #634 ). ParticleSystem:setSpinVariation still exists.
2013-07-09 07:48:42 -03:00
Alex Szpakowski
da7bc06976
ParticleSystem:setSizes no longer resets size variation to 0 (issue #640 )
2013-07-09 07:38:44 -03:00
Alex Szpakowski
de745aa37c
Fixed ParticleSystem drawing order (issue #604 ) & added ParticleSystem:s/getInsertMode. Thanks @Boolsheet!
2013-07-09 04:17:34 -03:00
Alex Szpakowski
abd31ca4e2
Fixed ParticleSystems and Files crashing instead of erroring when given bad sizes (issue #666 )
2013-07-04 06:29:02 -03:00
Alex Szpakowski
35984790e5
Added a way for love's reference-counted objects to be released more safely in some situations (e.g. setters)
2013-06-09 02:42:33 -03:00
Alex Szpakowski
0545138f1e
Added ParticleSystem:isStopped (issue #623 )
2013-05-24 02:21:47 -03:00
Alex Szpakowski
0c58d5d46a
Added ParticleSystem:isPaused (issue #623 ) and removed ParticleSystem:isEmpty/isFull (issue #621 )
2013-05-23 13:42:29 -03:00
Bart van Strien
16e27d95b1
Rename ParticleSystem:setLifetime/setParticleLife and getters to setEmitterLifetime/setParticleLifetime (issue #601 )
2013-05-10 16:50:20 +02:00
Alex Szpakowski
4c616e409b
Renamed ParticleSystem:count, Channel:count, and all getNum* functions to get*Count (issue #602 )
2013-05-03 04:04:44 -03:00
vrld
71317c4359
Add Geometries (replaces Quads).
...
A Geometry is a collection of vertices describing a non self-intersecting
(simple) polygon. In addition to screen coordinates, the vertices have
attributes for texture coordinates (s,t) and color (r,g,b,a).
It can be used as a quad, to display distorted images, or anything in between.
Added:
^^^^^^
-- geometry from table, where table has the format:
-- info = {
-- {x,y, s,t, [r = 255, g = 255, b = 255, a = 255]}
-- {x,y, s,t, [r = 255, g = 255, b = 255, a = 255]}
-- ...
-- }
geom = love.graphics.newGeometry(info)
-- convenience wrapper for quads (same as before)
geom = love.graphics.newQuad(x,y, w,h, sw,sh)
-- retrieve vertex i (1-indexed)
x,y,s,t,r,g,b,a = geom:getVertex(i)
-- set vertex i (1-indexed)
geom:setVertex(i, x,y, s,t, [r,g,b,a])
-- flip geometry
geom:flip(x, y)
Renamed:
^^^^^^^^
love.graphics.drawq() -> love.graphics.drawg()
Removed:
^^^^^^^^
quad:setViewport()
quad:getViewport()
2013-04-21 18:53:13 +02:00
Alex Szpakowski
426ca03315
Added ParticleSystem:setLinearAcceleration(xmin, ymin, xmax, ymax) and removed ParticleSystem:setGravity (issue #599 )
2013-04-19 15:33:30 -03:00