Alex Szpakowski
9b4aea8f17
Missed some copyright date updates
2021-04-07 20:34:24 -03:00
Alex Szpakowski
21f5ba86d3
Merge branch 'master' into 12.0-development
2021-04-07 20:33:44 -03:00
Alex Szpakowski
f89aabb0bb
Update copyright year for 2021
2021-04-04 16:14:45 -03:00
Alex Szpakowski
5db1e835ce
Prevent stb_image from exporting public symbols in the love dll
2020-03-07 16:09:40 -04:00
Alex Szpakowski
12c90b3dca
Merge Image and Canvas GL backend classes into new common Texture class.
2020-02-07 20:29:21 -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
f3b52f66fe
Update the internal naming convention for pixel formats.
...
--HG--
branch : minor
2019-12-23 23:38:04 -04:00
Alex Szpakowski
fe2c204a2c
Use Data:getFFIPointer instead of Data:getPointer for internal ImageData and SoundData FFI code.
2019-10-27 19:07:58 -03:00
Alex Szpakowski
4f093a0b6b
Support loading BGRA8 dds files into RGBA8 images.
2019-09-22 12:47:49 -03:00
Alex Szpakowski
a5ccfe4394
More clamping and rounding instead of truncating in ImageData:paste format conversion code, to match the behaviour of other color conversion code.
2019-09-21 22:20:16 -03:00
Alex Szpakowski
42a8107b07
Fix a compile error
2019-09-21 22:13:36 -03:00
Alex Szpakowski
2bf5a04937
Use a generic slow path for ImageData:paste between formats when we don't already have a faster path for it, instead of erroring.
2019-09-21 22:13:10 -03:00
Alex Szpakowski
e11d43507e
Reorganize ImageData:set/mapPixel code so less of it is in the Lua wrapper and more of it is in the ImageData class itself.
2019-09-21 21:48:03 -03:00
Alex Szpakowski
c4fac73dc4
ImageData and Images now support the rg11b10f format.
2019-09-21 14:46:45 -03:00
Alex Szpakowski
b5da34ffb1
very minor code style change for consistency
2019-09-21 11:08:55 -03:00
Alex Szpakowski
94c66918a8
Add support for rgba4, rgb5a1, rgb565, and rgb10a2 ImageData formats. Also fix normalized 8 and 16 bit per component ImageData to round instead of floor (post-converted fixed point) fractional values in setPixel and mapPixel.
2019-09-21 11:02:40 -03:00
Alex Szpakowski
0d2de019c3
Fix ImageData:getPixel and ImageData:mapPixel when 1- and 2-component formats are used and the JIT compiler isn't available.
2019-09-18 20:23:32 -03:00
Alex Szpakowski
d6e37ec4aa
Add support for loading DDS files that contain raw/uncompressed pixel data. Resolves issue #1097 .
2019-09-17 22:40:11 -03:00
Alex Szpakowski
a6f8e7dac6
Improve detection of sRGB texture formats in dds files (doesn't currently affect any exposed API).
2019-09-15 19:08:25 -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
cb4b45dcf1
Add Data:getFFIPointer. Similar to Data:getPointer but returns a cdata pointer directly (or nil if the FFI isn't available).
...
It should be preferred instead of Data:getPointer because the latter uses lightuserdata which can't store more all possible memory addresses on some new arm64 architectures, when LuaJIT is used.
2019-07-20 10:47:58 -03:00
Alex Szpakowski
2a534893b1
Small ImageData code cleanup.
2019-06-04 20:33:44 -03:00
Alex Szpakowski
44fd8b4e19
Update TinyEXR
2019-06-02 11:35:52 -03:00
Alex Szpakowski
372a55c6ac
ImageData supports more formats: r8, rg8, r16, rg16, r16f, rg16f, r32f, rg32f. Format conversion via ImageData:paste is not supported for those (yet).
2019-04-28 12:09:16 -03:00
Alex Szpakowski
0752f27bdf
Update copyright year for 2019
2019-01-03 21:09:05 -04:00
Alex Szpakowski
39201af79f
Improve the error message when an invalid layer or face index is given in love.graphics.setMode.
2018-01-14 19:15:24 -04:00
Bart van Strien
fd514d8176
Update some more copyright notices
...
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Bart van Strien
e80247c191
Happy new year! ✨
2018-01-03 19:47:35 +01:00
Alex Szpakowski
f69affebc9
Update tinyexr.
2017-12-17 21:42:04 -04:00
Alex Szpakowski
6dea2ab714
Clamp all color arguments to [0, 1] in cases where values outside that range don't make sense (fixed-point color values & sRGB colors). Closes issue #1315 .
...
--HG--
branch : minor
2017-11-21 19:49:52 -04:00
Bart van Strien
9e4374935d
Show (short) list of possible enum values when an invalid value is encountered ( resolves #1318 )
...
All enum errors have (hopefully) been changed to a luax_enumerror, which has a
fixed error message. If additionally a list of valid options is passed, it
lists that in the error message. For every enum error with few options I've
implemented this using a getConstants call.
This solution has been designed specifically to reduce the number of template
instantiations (as I've been told that was a concern). All new template code
happens in places where there already was an instantiation of the relevant
StringMap. Of course there is still std::vector<std::string>...
--HG--
branch : minor
2017-10-02 17:11:53 +02:00
Alex Szpakowski
90e86c329d
Add love.data module.
...
- Moved love.math.compress / decompress / decode / encode / hash to love.data.
- Changed love.data.compress/decompress to take the format argument first instead of second.
- Added love.data.newDataView. Returns a read-only subsection of an existing Data object.
- Added love.data.newByteData. Mostly useful in combination with LuaJIT's FFI as it has no extra methods currently.
- Added implementations of Lua 5.3's data packing APIs: love.data.packString / packData / unpack / getPackedSize.
Resolves issue #1336 .
Resolves issue #1331 .
--HG--
branch : minor
2017-09-24 19:25:27 -03:00
Alex Szpakowski
a41f78dfe4
Simplified some compressed image parsing code.
...
--HG--
branch : minor
2017-08-30 22:25:26 -03:00
Alex Szpakowski
7566db14f2
love.filesystem.isFile and isDirectory behave consistently between PhysFS 2.0 and 2.1/3.0 (see issue #641 ).
...
--HG--
branch : minor
2017-08-06 00:53:49 -03:00
Alex Szpakowski
9b6aa777ad
love.image.newImageData(w, h, format, rawbytes) can accept a Data object.
...
--HG--
branch : minor
2017-08-06 00:13:02 -03:00
Alex Szpakowski
2dd6408d00
Images/[Compressed]ImageData can be created using any Data, instead of just files or FileData.
...
--HG--
branch : minor
2017-08-05 23:55:20 -03:00
Alex Szpakowski
b129d49a6c
Move Color.h from modules/graphics/ to common/
...
--HG--
branch : minor
2017-08-01 23:53:44 -03:00
Alex Szpakowski
84d5d8b636
Move decoder-agnostic love.image code out of the magpie backend folder.
...
--HG--
branch : minor
2017-08-01 23:22:24 -03:00
Alex Szpakowski
5ef6730497
Added a variant of love.graphics.captureScreenshot which takes a single filename parameter. Resolves issue #1293 .
...
--HG--
branch : minor
2017-07-29 12:54:53 -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
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
60f898af67
Fix a crash when loading .pvr compressed texture.
...
--HG--
branch : minor
2017-04-01 21:20:08 -03:00
Alex Szpakowski
074107b01d
ImageData:paste can copy between ImageData of different formats. Resolves issue #1249 .
...
--HG--
branch : minor
2017-03-03 22:10:10 -04:00
Alex Szpakowski
12ede289b4
Fix memory leak
...
--HG--
branch : minor
2017-02-26 20:22:03 -04:00
Alex Szpakowski
b44e6b2156
love.graphics.newVolumeImage can now automatically convert a 1xN or Nx1 sheet of square images into layers.
...
--HG--
branch : minor
2017-02-26 20:18:06 -04:00
Alex Szpakowski
73fd45558b
Implement Array, Cubemap, and Volume texture types (issue #1111 ).
...
- Add love.graphics.newArrayImage, newCubeImage, and newVolumeImage.
- Add love.graphics.newCanvas(w, h, layers) and newCanvas(w, h, layers, settings). Add ‘type’ field to the settings table of newCanvas.
- Add new love.graphics.setCanvas variants: setCanvas(canvas, slice), and setCanvas(canvastable) where canvastable is in the format: {{canvas1, layer=2}, {canvas2, face=5}}
- Add Texture:getTextureType, getDepth, getLayerCount, getMipmapCount, and getFormat.
- Remove Image:getData and Image:refresh.
- Add Image:replacePixels(imagedata [, slice] [, mipmap]).
- Update Canvas:newImageData to accept a slice argument.
- Add love.image.newCubeFaces(imagedata).
--HG--
branch : minor
2017-02-20 14:58:13 -04:00
Raidho
8572a33880
Prettifyed the code exploiting inheritance rules
...
added missing comma, added missing `override`
--HG--
branch : minor
2017-02-10 18:36:47 +03:00
Raidho
6ea1ebde9c
Data:clone ported to minor
...
minor tweaks
--HG--
branch : minor
2017-02-10 06:19:53 +03:00
Alex Szpakowski
abb72cb813
Happy new year! 🥂
...
--HG--
branch : minor
2017-01-02 01:28:29 -04:00