Alex Szpakowski
e2838131f2
Add love.graphics.copyBuffer.
2021-01-17 14:02:00 -04:00
Alex Szpakowski
1f9d98263d
Refactor Buffer internals.
...
Allows buffers created with love.graphics.newBuffer to only allocate VRAM data. Previously they had a copy of their contents in RAM.
Also makes it easier to implement Buffers in other graphics APIs and to implement more types of Buffers in the future.
2020-12-22 19:23:02 -04: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
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
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
2c4bfab1de
Merge branch '12.0-development' into GraphicsBuffer
2020-05-23 20:29:38 -03: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
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
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
2828761060
Move some code from Mesh wrapper to Buffer wrapper
2020-02-22 18:58:41 -04:00
Alex Szpakowski
b1c028a4d3
Merge branch '12.0' into GraphicsBuffer
2020-02-17 16:31:02 -04:00
Alex Szpakowski
7c34345fa6
Rename new/set/getRenderTarget back to new/set/getCanvas, for now.
...
The setRenderTarget/setCanvas API will likely change before 12.0 is released, so there's no reason to rename things unnecessarily before then.
2020-02-16 19:42:11 -04:00
Alex Szpakowski
5c06b2a860
Replace getCanvas/ImageFormats with getTextureFormats
2020-02-12 22:25:04 -04:00
Alex Szpakowski
f5f7e908a9
Rename love.graphics.get/setCanvas to get/setRenderTarget
...
Rename 'canvasswitches' field in love.graphics.getStats to 'rendertargetswitches'.
2020-02-12 21:50:23 -04:00
Alex Szpakowski
8478a870a9
Add new*Texture variants which don't require image files.
...
Update the no-game screen to avoid deprecated functions.
2020-02-12 20:07:35 -04:00
Alex Szpakowski
ceb854db5b
rename new[Cube|Array|Volume]Image to new[Cube|Array|Volume]Texture
2020-02-12 18:56:55 -04:00
Alex Szpakowski
d24b9e9e6f
Rename love.graphics.newCanvas to newRenderTarget
2020-02-11 19:32:00 -04:00
Alex Szpakowski
453322678c
Rename internal uses of canvas to texture/render target
2020-02-08 20:40:10 -04:00
Alex Szpakowski
17f77407bb
Replace internal C++ newImage and newCanvas methods with newTexture
2020-02-05 20:39:55 -04:00
Alex Szpakowski
258129738f
Remove graphics::Canvas and graphics::Image
2020-02-04 22:06:55 -04:00
Alex Szpakowski
b71eaf73cc
Replaced some references to Image and Canvas with Texture.
2020-02-04 20:52:57 -04:00
Alex Szpakowski
c3b77e0a92
Remove wrap_Canvas and wrap_Image files
2020-02-04 20:09:46 -04:00
Alex Szpakowski
63c5df6aa7
Begin unification of Canvases and Images.
2020-02-03 23:05:46 -04:00
Alex Szpakowski
b46b3ed552
Move some Canvas code to Texture, devirtualize Texture::draw.
2020-02-03 19:02:58 -04:00
Alex Szpakowski
f9248d478c
Refactor sampler state parameters for textures.
2020-02-02 22:26:28 -04:00
Alex Szpakowski
f24b1aa377
Move internal Slices class from Image to Texture
2020-02-02 13:50:37 -04:00
Alex Szpakowski
6c447ab4f6
Clean up some common Image and Canvas code.
2020-02-01 23:54:51 -04:00
Alex Szpakowski
2572f0c7a1
Meshes expose GraphicsBuffers, part 2
2020-02-01 15:39:59 -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
ee5304ba53
Remove vertex namespace
2020-01-13 20:41:05 -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
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
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
5c01289300
Fix love.graphics.getTextureTypes to return a table with boolean values instead of number values.
2019-07-13 21:58:01 -03:00
Alex Szpakowski
0752f27bdf
Update copyright year for 2019
2019-01-03 21:09:05 -04:00
Alex Szpakowski
dc5e43adf3
Split wrap_Graphics.lua into two files to work around VS2013's 16kB limit for raw string literals.
2018-12-13 22:34:30 -04:00