Commit Graph

141 Commits

Author SHA1 Message Date
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 a5b87a10d1 Merge branch '12.0-development' into metal 2020-02-28 23:21:08 -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 742a954655 Merge branch '12.0' into metal 2020-02-15 14:18:35 -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 d687b4c099 metal: initial work on windowing and instance creation 2020-01-30 20:35:33 -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
Bart van Strien 7253118100 Make and use a vector variant of luax_convobj
Which also prevents accessing the zeroeth element of an empty vector
2018-12-03 18:19:28 +01:00
Josh Grams cca5af66e8 setCanvas: rephrase confusing error message. 2018-09-21 08:32:27 -04:00
bjornbytes 1916c2a5fa Fix getCanvas for cube canvases; 2018-02-11 22:09:14 -08:00
Alex Szpakowski d37c53584e Fixed the mipmaps flag in love.graphics.newImage; cleaned up a bit of vector code in love.math.isConvex. 2018-01-28 22:32:40 -04:00
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Alex Szpakowski dd59803ad3 Error when invalid setting names are used in the tables passed to love.graphics.newCanvas and newImage. See issue #1312. 2017-12-28 23:16:51 -04:00
Alex Szpakowski 7ff428b64f Fix love.graphics.newImage(compressedimagedata, settings) to respect the mipmaps boolean flag instead of always using the compressed texture's mipmaps if it has any. 2017-12-27 11:03:32 -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 cbcb1a8606 Allow a depth/stencil canvas to be active without a color canvas.
--HG--
branch : minor
2017-12-03 19:33:48 -04:00
Alex Szpakowski 82553d793d Clamp colors in love.graphics.newMesh. I missed this one in my previous commit.
--HG--
branch : minor
2017-11-25 10:23:29 -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
Alex Szpakowski 7a2e52b12d Cleaned up some vertex data-related code.
--HG--
branch : minor
2017-10-22 12:33:47 -03:00