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
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
c2be89f130
Fix crashes when creating a Buffer.
2020-07-21 20:50:49 -03:00
Alex Szpakowski
3f4161dd5d
Merge branch '12.0-development' into GraphicsBuffer
2020-07-20 18:13:27 -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
2c4bfab1de
Merge branch '12.0-development' into GraphicsBuffer
2020-05-23 20:29:38 -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
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
9425c9224b
Rename internal batched draw code to be more clear
2020-02-27 20:08:50 -04:00
Alex Szpakowski
1ddfcd4cc8
Always use explicitly typed buffers, even in internal code
2020-02-23 16:30:55 -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
024d9443a0
Merge branch '12.0' into Texture
2020-02-15 13:53:15 -04:00
Alex Szpakowski
a0a933a1b9
Merge branch 'master' into 12.0
2020-02-15 13:51:12 -04:00
Alex Szpakowski
15f0e4109b
Fix a typo in a comment
2020-02-15 13:50:47 -04:00
Alex Szpakowski
185498ba6d
Fix depth sample mode validation checking the wrong state.
2020-02-15 13:49:04 -04:00
Alex Szpakowski
4ec9cafdea
Better error checking in the GL texture backend
2020-02-12 22:57:13 -04:00
Alex Szpakowski
d24b9e9e6f
Rename love.graphics.newCanvas to newRenderTarget
2020-02-11 19:32:00 -04:00
Alex Szpakowski
aa636381d0
Fix MSAA texture creation logic
2020-02-09 12:46:52 -04:00
Alex Szpakowski
694bc9c5b7
rename love_Canvases to love_RenderTargets in shaders.
...
More misc. renaming
2020-02-09 12:11:19 -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
813b1e0e69
Remove debug print
2020-02-05 18:03:34 -04:00
Alex Szpakowski
ca84b6db48
More robust error handling for AMD Pinned Memory buffers (issue #1540 )
...
Also print out any errors that are produced from that (for now).
2020-02-05 07:49:38 -04:00
Alex Szpakowski
0017f9c77d
Remove a redundant internal Texture method
2020-02-04 22:15:18 -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
4716211c14
Move replacePixels from Image to Texture
2020-02-04 19:05:43 -04:00
Alex Szpakowski
63c5df6aa7
Begin unification of Canvases and Images.
2020-02-03 23:05:46 -04:00
Alex Szpakowski
fc0d60a96d
Move Canvas:getMSAA to Texture:getMSAA.
2020-02-03 19:26:11 -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
e0ffdfc1ba
Move some OpenGL-specific Image code into the GL backend
2020-02-02 01:21:27 -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
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
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