bjorn
25fbf1d8ce
love.graphics.dispatchThreadgroups;
2021-07-17 19:49:53 -07:00
bjorn
085ba2cb6e
Add compute ShaderStage;
2021-07-17 19:46:05 -07:00
Alex Szpakowski
14cda7818f
Rename internal enum
2021-04-07 20:43:22 -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
deff795908
Rename some internal buffer enums to better match what they do
2021-01-17 20:59:16 -04:00
Alex Szpakowski
5e77944dc0
refactor texture format support internals
2021-01-16 13:09:01 -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
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
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
2c4bfab1de
Merge branch '12.0-development' into GraphicsBuffer
2020-05-23 20:29:38 -03:00
Alex Szpakowski
2cff535eb1
Move shader parsing code from Lua to C++.
2020-03-03 19:30:22 -04:00
Alex Szpakowski
1ddfcd4cc8
Always use explicitly typed buffers, even in internal code
2020-02-23 16:30:55 -04:00
Alex Szpakowski
b1c028a4d3
Merge branch '12.0' into GraphicsBuffer
2020-02-17 16:31:02 -04:00
Alex Szpakowski
453322678c
Rename internal uses of canvas to texture/render target
2020-02-08 20:40:10 -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
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
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
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
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
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
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
Alex Szpakowski
74dcc41b38
Cleaned up love.graphics Image code for determining whether the image's pixel format is supported.
2019-01-16 19:30:21 -04:00
Alex Szpakowski
0752f27bdf
Update copyright year for 2019
2019-01-03 21:09:05 -04:00
Alex Szpakowski
cfa30167ca
Fix hash map collisions when setting canvases.
2018-04-02 15:58:38 -03: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
e80247c191
Happy new year! ✨
2018-01-03 19:47:35 +01:00
Alex Szpakowski
a31b500b03
Simplify quad drawing code, and use glDrawElementsBaseVertex when available.
2017-12-24 22:05:10 -04:00
Alex Szpakowski
7354de2059
Add (low level) functionality to allow rendering 3D Meshes.
...
- Add love.graphics.setDepthMode(testcomparison, enablewrites).
- Add love.graphics.setMeshCullMode.
- Add love.graphics.setFrontFaceWinding.
Depth testing and depth writes require a depth buffer to work. The mesh cull mode controls whether front/back faces of a mesh are culled. The front face winding determines whether a clockwise or counterclockwise-oriented face in a mesh is considered front facing.
--HG--
branch : minor
2017-12-09 23:34:08 -04:00
Alex Szpakowski
e099e57052
Cleaned up some internal love.graphics code.
...
--HG--
branch : minor
2017-12-03 23:04:40 -04:00
Alex Szpakowski
7f88037d94
Move the implementation for Graphics::flushStreamDraws out of the opengl backend
...
--HG--
branch : minor
2017-10-26 21:05:15 -03:00
Alex Szpakowski
e3fd489373
Abstracted lower level drawing code, moved all type-specific drawing code out of opengl backend, deleted obsolete files
...
--HG--
branch : minor
2017-10-26 20:58:19 -03:00
Alex Szpakowski
7a2e52b12d
Cleaned up some vertex data-related code.
...
--HG--
branch : minor
2017-10-22 12:33:47 -03:00
Alex Szpakowski
e5b0d96b27
Restructured some Shader code. Added runtime temporary caching and sharing of shader stages. Resolves issue #1235 .
...
--HG--
branch : minor
2017-10-21 03:08:18 -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
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
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
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
b019a4a64c
Cleaned up texture VRAM usage tracking.
...
--HG--
branch : minor
2017-05-06 23:56:10 -03:00