Commit Graph

1861 Commits

Author SHA1 Message Date
Alex Szpakowski cd08f75909 metal: image uploading 2020-02-01 18:25:50 -04:00
Alex Szpakowski 0c6e168379 metal: internal conversions for more pixel formats 2020-02-01 18:10:04 -04:00
Alex Szpakowski c9809d8d82 Clean up some Mesh code 2020-02-01 15:59:38 -04:00
Alex Szpakowski 2572f0c7a1 Meshes expose GraphicsBuffers, part 2 2020-02-01 15:39:59 -04:00
Alex Szpakowski d687b4c099 metal: initial work on windowing and instance creation 2020-01-30 20:35:33 -04:00
Alex Szpakowski 74cf9b8236 The bones of what will become a Metal backend.
This isn't anywhere close to usable (not even a blank screen will work), let alone complete. It's about 20% done.
2020-01-26 15:46:33 -04:00
Alex Szpakowski afcb467fa7 Remove some unrelated code that was accidentally included in previous commits. 2020-01-19 19:03:46 -04:00
Alex Szpakowski 25d9ae2ba0 Meshes expose vertex buffers, part 1
(compiles, but is currently half-implemented and broken)
2020-01-19 15:03:19 -04:00
Alex Szpakowski 816f132c9d Expose GraphicsBuffer type to Lua.
It currently doesn't have any methods or any way to access it, yet.
2020-01-18 17:37:03 -04:00
Alex Szpakowski d597275207 Add StringMap for DataFormat 2020-01-15 23:26:24 -04:00
Alex Szpakowski d5d50d2e0d Move DataFormat enum to vertex.h 2020-01-13 23:20:49 -04:00
Alex Szpakowski 1bc2b947fc Rename Attributes struct to VertexAttributes 2020-01-13 20:44:39 -04:00
Alex Szpakowski ee5304ba53 Remove vertex namespace 2020-01-13 20:41:05 -04:00
Alex Szpakowski b0232a4a6b Initial work on unified graphics buffers representing different types of data. 2020-01-12 16:41:23 -04:00
Alex Szpakowski 23bc1a7aae Add new mesh data formats: int32, uint32, [u]int8, [u]int16, snorm8, and snorm16.
Integer formats for vertex attributes are only supported in glsl3 shaders. They use ivec/uvec types in glsl.

--HG--
branch : minor
2020-01-11 22:24:38 -04:00
Alex Szpakowski 5c009d4bb9 Fix shader compilation on GLES.
--HG--
branch : minor
2020-01-09 21:37:33 -04:00
Alex Szpakowski 51db32cfdf Merge default into minor.
--HG--
branch : minor
2020-01-06 22:41:01 -04:00
Alex Szpakowski eab3b83a2e Fix a hard freeze on AMD+Windows systems when the internal buffers used for automatic batching are resized. 2020-01-06 19:58:22 -04:00
Alex Szpakowski 5f9b5a21d0 Merge default into minor
--HG--
branch : minor
2020-01-03 22:45:36 -04:00
Alex Szpakowski fc4847c69d Update copyright for the new year 2020-01-03 22:40:36 -04:00
Alex Szpakowski 881a31512d Remove the variant of SpriteBatch:setColor() which disables all previously set colors (resolves issue #1090).
--HG--
branch : minor
2019-12-29 21:20:47 -04:00
Alex Szpakowski 361cefbb05 Add new wrap mode "clampone". Pixels sampled outside of [0, 1] are white (1, 1, 1, 1).
--HG--
branch : minor
2019-12-27 13:57:20 -05:00
Alex Szpakowski 76121ec152 Fix the default blend mode.
--HG--
branch : minor
2019-12-27 13:51:57 -05:00
Alex Szpakowski 6c662ade41 Fix disabling blending,
--HG--
branch : minor
2019-12-27 13:28:15 -05:00
Alex Szpakowski b41f1316fa Add love.graphics.setBlendState, which sets the lower level blend operation and factor values which higher level blend modes are based on.
--HG--
branch : minor
2019-12-27 09:57:42 -05:00
Alex Szpakowski efa2bd7837 Consolidate some internal graphics state definitions into a new renderstate file.
--HG--
branch : minor
2019-12-26 23:07:51 -05:00
Alex Szpakowski f3b52f66fe Update the internal naming convention for pixel formats.
--HG--
branch : minor
2019-12-23 23:38:04 -04:00
Alex Szpakowski bc12312f0f macOS: rename most internal uses of "macosx" to "macos".
--HG--
branch : minor
2019-12-22 17:54:20 -04:00
Alex Szpakowski e898d4571a Merge default into minor
--HG--
branch : minor
2019-12-20 00:46:32 -04:00
Alex Szpakowski 23db4f4a59 Remove functions that were deprecated in LÖVE 11.
--HG--
branch : minor
2019-12-20 00:45:20 -04:00
Paul Cercueil 0bac89e00f Fix build on MIPS
On MIPS toolchains, the 'mips' keyword is a macro defined to 1.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2019-12-19 11:36:33 +01:00
Alex Szpakowski acf84349a9 Move some Lua code around to work around VS2013's 16kB limitation for C++ raw string literals.
--HG--
branch : minor
2019-11-23 19:16:59 -04:00
Alex Szpakowski 3a227cea37 Merge default into minor
--HG--
branch : minor
2019-11-19 21:47:48 -04:00
Alex Szpakowski 6a552d5a6f Allow Canvases to use the r16, rg16, and rgba16 pixel formats. 2019-11-18 22:45:54 -04:00
Alex Szpakowski 8512b1a8f6 Remove some dead code.
--HG--
branch : minor
2019-11-18 21:16:51 -04:00
Alex Szpakowski 3435a6bcbf Change the internal constant color from a (per-draw) vertex attribute to a uniform. Pack most built-in uniforms into a single vec4 array and update them all with a single glUniform call.
--HG--
branch : minor
2019-11-18 21:13:54 -04:00
Alex Szpakowski 37c579929b Add support for GLSL 4.30 and GLSL ES 3.10, via #pragma language glsl4.
macOS and iOS won't support glsl4 until a Metal backend is implemented.

--HG--
branch : minor
2019-11-16 14:33:48 -04:00
Alex Szpakowski c3be5c4682 Fix a crash when Canvas:newImageData is called and the width multiplied by the canvas format's pixel byte size is not a multiple of 4, for example a 3x3 r16f canvas (thanks Max!) 2019-11-12 21:27:46 -04:00
Alex Szpakowski 1e0a7cad67 Fix instanced vertex attributes. 2019-10-04 19:28:55 -03:00
Alex Szpakowski 5dfcf90e66 Fix Text:set(" ") not properly clearing the internal buffer (resolves issue #1518). 2019-10-01 19:02:16 -03:00
Alex Szpakowski ed537c4f6a lines can render more than 65k vertices (resolves issue #1356). 2019-09-28 18:34:56 -03:00
Alex Szpakowski 157282ec7e Fix a typo causing mesh attribute instancing to behave weirdly. 2019-09-28 00:31:44 -03:00
Alex Szpakowski f03b391245 Canvas:newImageData creates an ImageData with a pixel format that matches the canvas'. 2019-09-20 19:25:15 -03:00
Alex Szpakowski 58e26280c2 Fix detection for support of r16 and rg16 image formats on desktops. 2019-09-18 19:36:08 -03:00
Alex Szpakowski 9ab2a94037 Rename internal C++ Color struct to Color32 to help differentiate it from Colorf. 2019-09-14 23:13:40 -03:00
Alex Szpakowski 89eb3c6236 Remove a static_assert that fails in some compilers 2019-08-25 17:16:58 -03:00
Alex Szpakowski 55d4dc0f9e Restructure some internal vertex buffer binding code to be closer to how graphics APIs actually behave. 2019-08-25 16:50:15 -03:00
Bart van Strien 932068e777 Stop the attached Source when a Video gets destroyed
Before it would end up paused, but this means the audio playback thread will
still keep it alive. Since there are no other references, there is no way to
then free that Source anymore.
2019-08-11 15:34:00 +02:00
Alex Szpakowski 93fef5f144 Remove some dead code. 2019-07-17 18:57:14 -03:00
Alex Szpakowski 5c01289300 Fix love.graphics.getTextureTypes to return a table with boolean values instead of number values. 2019-07-13 21:58:01 -03:00