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
cd97e9ec05
Added Image:getData, returns the original ImageData (or CompressedData) used to create the image
2013-06-17 13:43:40 -03:00
Alex Szpakowski
d48d1fd441
Exposed the internal Rasterizer and GlyphData object methods to Lua. Also added Font:hasGlyph.
2013-06-16 07:36:18 -03:00
Alex Szpakowski
15535517d6
love.graphics.setColorMask() with no arguments enabled all color components
2013-06-15 21:52:39 -03:00
Alex Szpakowski
0a1c90f2d7
Removed love.graphics.setLine and love.graphics.setPoint.
...
Both functions are redundant (setLineStyle+setLineWidth and setPointStyle+setPointSize do the same thing) and have misleading names.
2013-06-14 10:12:09 -03:00
Alex Szpakowski
8718e064e0
Fixed love.graphics.print[f] truncating strings with embedded zeros
2013-06-13 17:37:14 -03:00
Alex Szpakowski
0a36c41ba0
Removed support for BC7-compressed DDS images (only *very* modern systems support it right now); updated the ddsparse library
2013-06-09 16:31:02 -03:00
Alex Szpakowski
cd1a23c4ad
Improved handling of (File)Data in love.graphics.newFont and love.thread.newThread
2013-06-08 16:50:13 -03:00
Alex Szpakowski
6a76e082e4
Re-added love.graphics.getWidth/getHeight
2013-05-28 20:23:31 -03:00
Alex Szpakowski
ff77eb4b29
Added love.window (issue #6.) All window-related functions have been moved from love.graphics to love.window.
...
love.graphics.setCaption has been renamed to love.window.setTitle.
2013-05-10 22:32:15 -03:00
Alex Szpakowski
c7ebb50b70
love.graphics.newParticleSystem now uses a default buffer size of 1000 (issue #598 )
2013-05-08 17:19:25 -03:00
Alex Szpakowski
7ab3809165
Fixed Object:typeOf for love.physics objects new to 0.8.0, removed vestigial ColorMode code
2013-05-07 15:23:26 -03:00
Alex Szpakowski
63404f7097
Added love.graphics.getRendererInfo(infotype). Useful for creating more informative error reports and advanced debugging.
...
Returned string can be highly system-dependent, so don't rely on its output!
infotype can be "name", "version", "vendor", or "device"
2013-05-05 16:47:42 -03:00
Alex Szpakowski
08d6e658c1
Removed love.graphics.newStencil (issue #569 )
2013-05-03 15:49:39 -03:00
Alex Szpakowski
3bf43dadd8
Renamed CompressedData:getNumMipmaps to CompressedData:getMipmapCount; Improved type-checking error messages for some functions which expect function arguments
2013-05-02 17:26:50 -04:00
Alex Szpakowski
8b50dd499b
Removed now-unnecessary optional filter parameters from love.graphics.newImageFont
2013-04-28 18:15:03 -07:00
Alex Szpakowski
ad2239aaaf
Error instead of crash when love.graphics.newScreenshot fails
2013-04-28 11:12:19 -07:00
Alex Szpakowski
d0970658bf
Exposed Geometry:setVertexColors and Geometry:hasVertexColors, to enable/disable per-vertex colors.
...
Vertex colors are automatically enabled if newGeometry or setVertex is called with a color other than 255,255,255,255
2013-04-24 12:04:24 -07:00
Alex Szpakowski
3b05ec0635
Geometries now automatically use per-vertex colors when drawing if any vertex has a custom color set, otherwise the constant color is used.
...
Still not a perfect solution, but it works better than before
2013-04-23 23:25:45 -07:00
Alex Szpakowski
f05e681b24
Error instead of crash when love.graphics.newGeometry fails
2013-04-21 18:49:56 -07: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
7391d9821f
Merged love.graphics.origin into default (issue #124 )
2013-04-11 17:59:32 -03:00
Alex Szpakowski
c7838b78b6
Added love.graphics.setAlphaTest (issue #534 )
2013-04-10 13:17:54 -03:00
Alex Szpakowski
7403245715
Cosmetic code improvements
...
--HG--
branch : image-CompressedData
2013-04-07 22:58:08 -03:00
Alex Szpakowski
88d64954a4
Replaced the devil love.image module with love.image.magpie, which can decide which image library to use in a similar manner to love.sound.lullaby. Some rough edges still exist.
...
love.filesystem.newFileData now accepts filepaths and File objects.
--HG--
branch : image-CompressedData
2013-04-07 17:18:34 -03:00
Alex Szpakowski
8a8adcce39
Code cleanup
...
--HG--
branch : image-CompressedData
2013-04-05 18:55:44 -03:00
Alex Szpakowski
5301026f3c
Added support for DXT1/3/5 and BC5/7 compressed textures via love.image.CompressedData. Some internals are still iffy.
...
- added a new CompressedData type to love.image
- added love.image.isCompressed(file or data)
- love.graphics.newImage automatically tests for compression when loading a file
- added love.graphics.isSupported strings for DXT, BC5, and BC7
Compressed textures meant to be used on the GPU offer huge performance gains when
- loading the texture from a file
- loading the texture from RAM to VRAM
- loading mipmaps
- rendering
--HG--
branch : image-CompressedData
2013-04-04 19:09:18 -03:00
Alex Szpakowski
7e658861d7
love.graphics.drawq's x,y parameters are now optional, to match love.graphics.draw
2013-04-01 16:47:45 -03:00
Alex Szpakowski
d5aa807747
More internal code cleanup
2013-03-31 19:02:27 -03:00
Alex Szpakowski
eef4eed636
Cleaned up some Lua binding code
2013-03-31 04:55:03 -03:00
Alex Szpakowski
23a0f3a69c
Merged love-experiments/love.graphics.setColorMask into default
2013-03-27 19:43:04 -03:00
Alex Szpakowski
a55c7e871e
fixed canvas:clear() when multi-canvas rendering is active, changed some names and wording
...
--HG--
branch : MRTs
2013-03-26 04:58:43 -03:00
Alex Szpakowski
6c5daab312
Fixed up the API: setCanvas (singular) now only takes one canvas, setCanvases must be used for multi-canvas rendering
...
--HG--
branch : MRTs
2013-03-25 21:23:09 -03:00
Alex Szpakowski
2ea065c68b
Added MRT support to canvases via love.graphics.setCanvases(c1, c2, ...), and an 'effects' callback function in shaders.
...
- Simultanious rendering to multiple canvases requires all canvases to be the same size (limitation of pre-GL3.0 framebuffers)
- love.graphics.isSupported("mrtcanvas") was added
- love_Canvases[n] (0-based array of active canvases) can be written to in pixel shaders in the 'effects' callback function
- everything drawn to multiple canvases at once will be duplicated to all canvases if no shader is active or the standard 'effect' shader function is used
--HG--
branch : MRTs
2013-03-24 02:20:15 -03:00
Alex Szpakowski
2009124cf9
Reworked internal anisotropic filtering code to be more concise and intuitive
2013-03-21 12:21:13 -03:00
Alex Szpakowski
7e753a0acb
Renamed love.graphics.setDefaultImageFilter to love.graphics.setDefaultFilter
2013-03-21 11:27:40 -03:00
Alex Szpakowski
25d6700361
Moved anisotropic filtering to Image:setFilter(min, mag, anisotropy), added anisotropic filtering support to canvases and fonts
2013-03-20 23:23:26 -03:00
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
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
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
738f471978
Fixed shader creation
2013-03-07 17:47:40 -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