Commit Graph

1494 Commits

Author SHA1 Message Date
Alex Szpakowski 7a18190c5c Restructure SpriteBatch internal vertex data 2020-11-03 22:12:56 -04:00
Alex Szpakowski 5031cb5f56 Images don't hold on to RAM copies of their contents anymore 2020-11-02 18:17:07 -04:00
Alex Szpakowski 7e0c7e3a67 Fix the default mipmap filter for textures. 2020-10-26 18:25:40 -03:00
Alex Szpakowski 99875d83b3 Fix explicit texture MSAA of 1 or 0 not being treated the same as the default 2020-10-26 17:11:50 -03:00
Alex Szpakowski e10444c21f Move Texture:generateMipmaps error handling out of backend code 2020-10-25 23:13:50 -03:00
Alex Szpakowski 442f37e0a1 Fix a potential bug in captureScreenshot on some older systems 2020-10-25 23:00:12 -03:00
Alex Szpakowski 7934ce0a66 Handle backbuffer MSAA manually in love.graphics code
Previously love would use SDL APIs to make the system (WGL etc) handle it, which meant the OpenGL context had to be recreated whenever MSAA changed.
2020-10-25 22:24:07 -03:00
Alex Szpakowski 2b0f8495bf Fix a crash in Text:set. Fixes issue #1639 2020-10-16 21:19:50 -03:00
Alex Szpakowski d083c87d74 Update glslang 2020-10-12 17:29:08 -03:00
Alex Szpakowski 365387150e Merge branch 'master' into 12.0-development 2020-08-09 12:25:07 -03:00
Alex Szpakowski 5f4d2f3323 Fix love.graphics.newVolumeImage when explicit mipmaps are given
Fixes issue #1602
2020-08-09 12:12:28 -03:00
Alex Szpakowski aa219c0d7a Simplify some boilerplate internal code 2020-08-02 16:00:08 -03:00
Alex Szpakowski f168333938 Simplify Buffer APIs.
Remove Buffer:set/getElement, Buffer:isCPUReadable, and the cpureadable flag in newBuffer's settings parameter.
2020-08-01 21:51:37 -03:00
Alex Szpakowski b011487a3e Add new texel buffer type.
GLSL 3+ shaders can read from texel buffers by declaring a uniform samplerBuffer variable and calling texelFetch with a 0-based index, in the shader code. All attributes in a texel buffer's format array must have the same data format (e.g. all 'floatvec4' formats).

Shader:send accepts a texel Buffer for samplerBuffer uniforms.

Added 'texelbuffer' to love.graphics.getSupported (requires GLSL 3+ and desktop OpenGL).
Added 'texelbuffersize' to love.graphics.getSystemLimits. Returns the max number of values in a texel buffer (array length multiplied by the number of attributes declared in the buffer's format array).
2020-07-28 20:44:36 -03:00
Alex Szpakowski 3c65d5ae41 love.graphics.newIndexBuffer uses 0-based index values.
It can't be consistent with other buffer types or Buffer methods if it's 1-based.
2020-07-27 17:35:16 -03:00
Alex Szpakowski de370beb68 Remove deprecation notices from newImage for now 2020-07-26 16:59:09 -03:00
Alex Szpakowski 2d7267a428 Add Buffer:isBufferType and Buffer:isCPUReadable. 2020-07-26 16:43:40 -03:00
Alex Szpakowski 36b0394afc Add love.graphics.newVertexBuffer and love.graphics.newBuffer. 2020-07-26 16:32:18 -03:00
Alex Szpakowski d75f5df80d Add Buffer methods
flush, setArrayData, setElement, getElement, getElementCount, getElementStride, getSize, getFormat
2020-07-25 19:48:54 -03:00
Alex Szpakowski 1d087cc5c2 Fix Mesh/Buffer:flush uploading more data than it needs to, sometimes. 2020-07-21 21:56:47 -03:00
Alex Szpakowski 7ad5e5a21a Fix newMesh(format, ...). Fix Mesh:attachAttribute.
Deprecate the mesh argument variant of attachAttribute in favor of the buffer argument variant.
2020-07-21 21:46:45 -03:00
Alex Szpakowski c2be89f130 Fix crashes when creating a Buffer. 2020-07-21 20:50:49 -03:00
Alex Szpakowski 77834d8e6c Add a Data object variant of love.graphics.newIndexBuffer 2020-07-21 19:09:13 -03:00
Alex Szpakowski 3b67db4672 Add love.graphics.newIndexBuffer 2020-07-21 18:57:50 -03:00
Alex Szpakowski 834cddc34c Add Mesh:getVertexBuffer. 2020-07-20 22:13:30 -03:00
Alex Szpakowski e60736f5a6 Add Mesh:set/getIndexBuffer. 2020-07-20 22:10:08 -03:00
Alex Szpakowski 3f4161dd5d Merge branch '12.0-development' into GraphicsBuffer 2020-07-20 18:13:27 -03:00
Alex Szpakowski 0c7793e195 Fix detection of #pragma language glsl3 in shaders 2020-07-19 15:41:04 -03:00
Alex Szpakowski f848b201ae Merge branch 'master' into 12.0-development 2020-07-18 21:29:36 -03:00
Alex Szpakowski dde3db3006 Apply Image:replacePixels/missing text workaround to more ATI drivers
issue #1563
2020-07-12 18:25:55 -03:00
Alex Szpakowski d60d8867f4 Possible workaround for an Intel driver bug with readable depth buffers
https://github.com/love2d/love/issues/1592
2020-07-11 17:21:26 -03:00
Alex Szpakowski 50eeed7bb1 Fix Shader:send's Data variant when a matrix layout arg is used.
Also add a second more consistent Data+matrix layout variant of Shader:send which matches the argument order of the table+matrix layout variant - Shader:send(name, matrixlayout, data, ...).
2020-07-10 22:52:23 -03:00
Alex Szpakowski 96b8d29a5c Clean up code for computing smooth line vertex colors. 2020-06-28 21:58:13 -03:00
Alex Szpakowski 2c4bfab1de Merge branch '12.0-development' into GraphicsBuffer 2020-05-23 20:29:38 -03:00
Alex Szpakowski 0fae32706d Fix a crash on Windows. Resolves #1570. 2020-05-23 15:19:28 -03:00
Alex Szpakowski d13e97fd83 Merge branch 'master' into 12.0-development 2020-03-15 19:25:48 -03:00
Alex Szpakowski 8fac08809a Eliminate redundant glActiveTexture calls when shaders are used.
The redundant calls were introduced with the previous commit.
2020-03-15 19:24:49 -03:00
Alex Szpakowski c5b6cc3228 Merge branch 'master' into 12.0-development 2020-03-15 19:17:04 -03:00
Alex Szpakowski 9c2454816f Fix the active GL texture unit not always being set properly.
Fixes issues where texture methods wouldn't have any effect, depending on the current internal opengl state.
2020-03-15 01:29:33 -03:00
Alex Szpakowski e0ff593d09 Fix love.graphics.newTexture(imagedata, {canvas=true}) not using an sRGB format when it should 2020-03-04 20:37:41 -04:00
Alex Szpakowski 10fbdf68f4 Fix love.graphics.newCanvas(w, h) not creating a canvas-capable texture 2020-03-04 20:36:06 -04:00
Alex Szpakowski 2cff535eb1 Move shader parsing code from Lua to C++. 2020-03-03 19:30:22 -04:00
Alex Szpakowski bbdadcba8a Fix build 2020-02-28 23:12:22 -04:00
Alex Szpakowski 7fbb68e90e Merge branch '12.0-development' into GraphicsBuffer 2020-02-28 23:10:21 -04:00
Alex Szpakowski d77dabaa6b Add Mesh:getAttachedAttributes. 2020-02-28 23:01:35 -04:00
Alex Szpakowski b95788c104 Shader:send now returns false if the uniform doesn't exist
It also returns false if the uniform exists but was optimized out by the shader compiler. Previously it would cause a Lua error in both situations.
2020-02-27 20:19:55 -04:00
Alex Szpakowski 9425c9224b Rename internal batched draw code to be more clear 2020-02-27 20:08:50 -04:00
Alex Szpakowski 4197a364fd Internal restructuring of some Mesh code 2020-02-23 22:39:18 -04:00
Alex Szpakowski 2c90ccabb3 Avoid some hardcoded strings 2020-02-23 16:49:38 -04:00
Alex Szpakowski 1ddfcd4cc8 Always use explicitly typed buffers, even in internal code 2020-02-23 16:30:55 -04:00