Commit Graph

3180 Commits

Author SHA1 Message Date
Alex Szpakowski 72ba5080fb Update license.txt and relicense my .dds file parser code
--HG--
branch : minor
2017-07-23 00:28:25 -03:00
Alex Szpakowski 864147c38c love.graphics: move more platform-independent code out of the opengl backend
--HG--
branch : minor
2017-07-22 23:34:39 -03:00
Alex Szpakowski b568e267eb Reorganized the ImageData decoding/encoding implementation slightly.
--HG--
branch : minor
2017-07-21 21:37:48 -03:00
Alex Szpakowski 518ed6f524 Small code style cleanup
--HG--
branch : minor
2017-07-21 21:17:55 -03:00
Alex Szpakowski 34ebe18f14 Use luaL_check/optinteger instead of luaL_check/optnumber when getting integer arguments to functions. Resolves issue #1251.
--HG--
branch : minor
2017-07-16 12:17:50 -03:00
Alex Szpakowski abcade9421 Updated the changelog
--HG--
branch : minor
2017-07-14 23:34:06 -03:00
Alex Szpakowski 130ee7e1d9 Consolidated Image and Canvas dimension validation code.
--HG--
branch : minor
2017-07-11 20:38:47 -03:00
Alex Szpakowski 2b876d33ff Attempt to fix VS2013 compilation error; fix a couple logic errors in the audio Source implementation.
--HG--
branch : minor
2017-07-09 21:45:43 -03:00
Alex Szpakowski 942149f980 Merged in rcoaxil/love-audio/minor (pull request #91)
Effects re-made to operate on literal names instead of numerical indices.

--HG--
branch : minor
2017-07-10 00:32:41 +00:00
raidho36 16180a7e9b That should be all.
--HG--
branch : minor
2017-07-10 03:30:16 +03:00
raidho36 8737e2e70f C++11 VLA usage removed, prettifyed naming.
--HG--
branch : minor
2017-07-10 03:14:41 +03:00
Alex Szpakowski a129982e56 Fix Texture:get/setWrap for 3D textures.
--HG--
branch : minor
2017-07-09 21:06:54 -03:00
Alex Szpakowski 025201d0c2 Hopefully work around Array Texture intel GMA driver bug on windows (resolves issue #1265).
--HG--
branch : minor
2017-07-09 17:31:07 -03:00
Alex Szpakowski 34f25bd6c8 ESSL: always enable standard derivative functionality (dFdx, dFdy, fwidth) when available. Added 'shaderderivatives' graphics feature enum.
--HG--
branch : minor
2017-07-09 16:55:21 -03:00
Bart van Strien a4a62f390a Disable signal handling in threads (see issue #1042)
I don't necessarily like having to do these extra calls whenever threads are
spawned (and what happens to signals during the time signal delivery is
disabled?) but it seems to fully fix os.execute.

NOTE: Also disables signals when loading openal, as it or one of its backends
spawns threads internally, and does not disable signals itself.

--HG--
branch : minor
2017-07-02 15:27:58 +02:00
Bart van Strien bf83629b4c Fix makefile misgeneration when CDPATH is set (fixes #1212)
--HG--
branch : minor
2017-06-30 19:08:41 +02:00
Alex Szpakowski 54a049e206 Restructured internal code for graphics capabilities. Added love.graphics.getTextureTypes which returns a table of Texture Type to boolean supported fields.
--HG--
branch : minor
2017-06-27 22:26:30 -03:00
Alex Szpakowski 5941982422 Error if a window isn't open when love.system.set/getClipboardText are called (resolves issue #1290).
--HG--
branch : minor
2017-06-27 21:31:50 -03:00
raidho36 157d94fae3 Effects re-made to operate on literal names instead of numerical indices.
Added buffer count parameter to queueable source constructor.
Added getEffectsList function.
Internal cleanup.

--HG--
branch : minor
2017-06-22 15:07:31 +03:00
Tanner Rogalsky 9084dce58f Add bindings for setting and getting a Transform's matrix representation.
--HG--
branch : minor
2017-06-20 08:06:28 -04:00
Alex Szpakowski ad399cab39 Update glslang
--HG--
branch : minor
2017-06-11 14:35:51 -03:00
Alex Szpakowski 45de7cebb6 Cleaned up some graphics code.
--HG--
branch : minor
2017-06-10 15:09:33 -03:00
Alex Szpakowski 9fe81ad922 Allow a temporary/internal depth buffer to be used when a Canvas is active, similar to how temporary stencil buffers are allowed.
Syntax is setCanvas{canvas [, depth=true, stencil=true]} or setCanvas{canvas, depthstencil=true}.

--HG--
branch : minor
2017-06-10 14:25:22 -03:00
Alex Szpakowski 30a63b6642 Fix crashes on OpenGL ES (thanks xenthral!)
--HG--
branch : minor
2017-06-08 21:10:17 -03:00
Alex Szpakowski e03c763215 Fix love.graphics.drawLayer.
--HG--
branch : minor
2017-05-20 15:37:29 -03:00
Alex Szpakowski fe81d79c6a Merged in bjornbytes/love/fix-kerning (pull request #87)
Fix newline kerning

--HG--
branch : minor
2017-05-20 00:28:41 +00:00
bjornbytes 4f855b5ac4 Fix newline kerning;
--HG--
branch : fix-kerning
2017-05-19 18:11:46 -06:00
Alex Szpakowski 76a7d30f1a Extrude font glyph quads by 1 pixel to add some antialiasing at the edges of the glyphs.
--HG--
branch : minor
2017-05-19 20:28:37 -03:00
Alex Szpakowski 6bdbd17249 Fix colors not being applied properly in auto-batched draws
--HG--
branch : minor
2017-05-19 20:21:04 -03:00
Alex Szpakowski 69a2da76dc Fixed BMFont y coordinates.
--HG--
branch : minor
2017-05-19 19:22:04 -03:00
Alex Szpakowski 0b3b58adb8 Hopefully fixed Font baseline calculation.
--HG--
branch : minor
2017-05-19 19:14:58 -03:00
Alex Szpakowski 7694edfd52 Auto-batched draws (except for love.graphics.print, for now) are affected by 3D transforms.
--HG--
branch : minor
2017-05-17 22:03:09 -03:00
Alex Szpakowski 955fb9b60c Fixed love.graphics.draw(particlesystem, …) to actually use the transformation parameters.
--HG--
branch : minor
2017-05-17 18:51:42 -03:00
Alex Szpakowski ac697ddb0f Clean up love’s internal Vector code a bit, and rename it to Vector2 so it’s more obvious what it is.
--HG--
branch : minor
2017-05-16 22:07:01 -03:00
Alex Szpakowski 135d928922 Fix compilation
--HG--
branch : minor
2017-05-06 23:59:15 -03:00
Alex Szpakowski b019a4a64c Cleaned up texture VRAM usage tracking.
--HG--
branch : minor
2017-05-06 23:56:10 -03:00
Alex Szpakowski b590edf27d Merge default into minor
--HG--
branch : minor
2017-04-30 00:37:26 -03:00
Alex Szpakowski 16f5557131 Move more backend-agnostic code out of the love.graphics opengl implementation files.
--HG--
branch : minor
2017-04-30 00:01:23 -03:00
Alex Szpakowski 621fb24ba1 Require stencil=true to be specified in setCanvas if stenciling is used while a Canvas is active and there is no custom stencil buffer.
--HG--
branch : minor
2017-04-29 21:29:37 -03:00
Alex Szpakowski 10d73ea1d7 Moved some backend-agnostic code out of the OpenGL backend of love.graphics.
--HG--
branch : minor
2017-04-29 18:38:23 -03:00
Alex Szpakowski fd64999748 Allow calling love.graphics.drawLayer(arraycanvas, layer) when rendering to a different layer of the same Canvas.
--HG--
branch : minor
2017-04-29 13:35:07 -03:00
Alex Szpakowski 353852ca24 Fix the default mipmap filter of mipmapped Canvases (thanks Shell32).
--HG--
branch : minor
2017-04-28 21:36:50 -03:00
Alex Szpakowski 70b32c47ce Error if a non-2D/affine matrix is used with auto-batched draws, since they perform CPU-side matrix transforms on 2-component vectors.
--HG--
branch : minor
2017-04-23 00:12:57 -03:00
Alex Szpakowski 7161d600b7 Add mipmapping support to Canvases.
- Added an optional mipmap index argument to the non-table variant of love.graphics.setCanvas, and an optional ‘mipmap’ field to the table variant.
- Canvas:setMipmapFilter now works.
- Added Canvas:generateMipmaps.
- Added Canvas:getMipmapMode.
- Added a new ‘mipmaps’ enum field to the table passed into love.graphics.newCanvas. Accepted values are “none” (default), “manual”, and “auto”.

If a Canvas has the manual mipmap mode, you will either need to render to a mipmap level or call Canvas:generateMipmaps. If it has the auto mode, mipmaps will be automatically generated after rendering to that Canvas. Generating mipmaps is not free.

--HG--
branch : minor
2017-04-15 01:58:03 -03:00
raidho36 6b7172bd40 Fix Issue #1273
Added Lua index registry clear routine to `destroy` method of classes that use it.
If this is left to GC, the abandoned userdata would stay in memory for one full extra cycle.

Prettified the code slightly. Clarified some comments. Refactored `Fixture` class `udata` name.
Removed Reference class include from `Shape` (it doesn't use it).
2017-04-14 05:53:36 +03:00
Alex Szpakowski a0ef2ac28b Add Depth compare / shadow sampler support. Officially this is only supported in glsl3 shaders.
- Add Texture:setDepthSampleMode(comparemode). Only works on textures with depth pixel formats. A texture with the depth sample mode set will only work with a depth sampler.
- Add DepthImage, DepthArrayImage, and DepthCubeImage sampler keywords to glsl3.

--HG--
branch : minor
2017-04-12 20:26:06 -03:00
Alex Szpakowski 0001b4695e Add new variants of love.graphics.clear for controlling how the depth and stencil buffers are cleared.
- Add love.graphics.clear(r, g, b, a [, stencilvalue, depthvalue]).
- Add love.graphics.clear(color1, color2, …, [, stencilvalue, depthvalue]).
- Add love.graphics.clear(false, stencilvalue, depthvalue).

stencilvalue and depthvalue are either true, false, or a number. True is the default behaviour and clears that buffer to the default value (0 for stencil, 1 for depth), false prevents clearing.

The third variant listed above only clears the depth and/or stencil buffers and not the color buffer.

--HG--
branch : minor
2017-04-11 22:32:40 -03:00
Alex Szpakowski 72c7602650 Readable depth-stencil Canvases with MSAA are not currently supported.
--HG--
branch : minor
2017-04-11 20:45:12 -03:00
Alex Szpakowski fca3d4a841 Improved the error message when a Canvas with the readable field explicitly set is not supported.
--HG--
branch : minor
2017-04-11 19:06:51 -03:00
Alex Szpakowski 43172bd3f6 Add optional ‘readable’ boolean field to the table passed into love.graphics.newCanvas. Added new variant of love.graphics.getCanvasFormats which takes a ‘readable’ boolean.
--HG--
branch : minor
2017-04-11 19:03:13 -03:00