Commit Graph

418 Commits

Author SHA1 Message Date
Alex Szpakowski 1449a81bdf Removed some dead code. 2014-08-26 22:16:01 -03:00
Alex Szpakowski 3a51f0ad08 Changed the love.graphics internal code to always use a default shader when none is set externally, and replaced the deprecated OpenGL vertex attribute code with the equivalent generic vertex attribute functions.
This will simplify the code and make it more maintainable when OpenGL ES 2+ support is added, compared to using the deprecated VA functions on desktop GL and the generic VA functions on GLES.

--HG--
branch : minor
2014-08-26 03:24:42 -03:00
Alex Szpakowski 2a1e1d01d3 Merged default into minor
--HG--
branch : minor
2014-08-25 18:02:44 -03:00
Alex Szpakowski 234ee0fea6 Fixed the default error handler's background color when sRGB is enabled for the screen. 2014-08-22 17:58:07 -03:00
Alex Szpakowski 2c7ee6959e Renamed the fullscreen type "normal" to "exclusive".
--HG--
branch : minor
2014-07-30 01:38:45 -03:00
Alex Szpakowski 88211ede8f Merged default into minor
--HG--
branch : minor
2014-07-13 20:26:51 -03:00
Alex Szpakowski a658c7df76 Fixed the error screen when highdpi mode is enabled on a retina monitor in OS X (resolves issue #908) 2014-07-12 21:12:21 -03:00
Alex Szpakowski 2bfa8dbfb5 Merged default into minor
--HG--
branch : minor
2014-06-16 03:09:04 -03:00
Alex Szpakowski 23d3cbc2e2 Renamed all cases of FSAA to the more accurately-named MSAA. The FSAA names (canvas:getFSAA, t.window.fsaa, etc.) still exist for now, for backwards-compatibility. 2014-06-13 23:28:00 -03:00
Alex Szpakowski 3792dee4b4 Backout changeset 57172a7f03452a6b07f346e850f3e1020e230f46 2014-06-05 14:59:29 -03:00
Alex Szpakowski e9e303c1e8 Changed embedded Lua scripts to be included in the love source via C++11's raw string literals instead of a generated header file. Removed auto.lua.
As a result, love can be compiled immediately after editing an embedded Lua script.

Visual Studio 2013 or newer is required for C++11 raw string literals in Windows.
2014-06-05 13:42:03 -03:00
Alex Szpakowski bfa3ec9369 Merged default into minor
--HG--
branch : minor
2014-06-05 03:02:50 -03:00
Alex Szpakowski 4d0bbb97d8 Fixed Lua pattern matching for detecting the 'position' and 'effect' shader functions (thanks lpghatguy!) 2014-05-31 00:42:18 -03:00
Alex Szpakowski db4acdbab6 Fixed the no-game screen
--HG--
branch : minor
2014-05-29 01:18:02 -03:00
Alex Szpakowski 53b20b63a5 Merged default into minor
--HG--
branch : minor
2014-05-21 21:16:37 -03:00
Alex Szpakowski fd5b5aad65 Minor code cleanup 2014-05-21 21:14:08 -03:00
Alex Szpakowski 0372977dfa Backout changeset 6dd72101871f163ee0e644c751f80773d45f339f
The change should only be done for GLES, not desktop GL - their specifications differ on this.
2014-05-03 22:21:45 -03:00
Alex Szpakowski 5428a5d75f Backout changeset b3928e24add23da69dcd90c34985cd6a05454be0 2014-05-03 22:07:32 -03:00
Alex Szpakowski 4bc96f1bf6 Internally compose and pass an array of shader source codes to OpenGL, instead of relying on #line to make sure the line number is correct for shader error messages (resolves issue #882) 2014-05-03 21:43:20 -03:00
Bart van Strien 9972153696 Use '#line 1' instead of '#line 0' in shader sources, for compatibility with GLES (fixes #882) 2014-05-03 14:50:08 +02:00
Alex Szpakowski 1b61091aae Removed the 'wu' and 'wd' constants for love.mousepressed, added new love.wheelmoved(x, y) event callback.
+x is mousewheel-right, +y is mousewheel-up.

--HG--
branch : minor
2014-04-19 21:36:06 -03:00
Alex Szpakowski e0134a305c Merged default into minor
--HG--
branch : minor
2014-04-15 18:35:33 -03:00
Alex Szpakowski 4ea18d8bbc love.math.setRandomSeed now calls random() a couple times internally, to make similar seeds give less similar results when random() is called for the first time after setRandomSeed. 2014-04-05 18:55:05 -03:00
Alex Szpakowski 2fb39f4448 Merged default into minor
--HG--
branch : minor
2014-04-05 01:33:14 -03:00
Alex Szpakowski 9dd3f70988 Use love.filesystem.isFile instead of love.filesystem.exists when checking for main.lua and conf.lua on startup 2014-04-02 22:16:27 -03:00
Alex Szpakowski b18c35a1f2 Renamed blend modes "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply" (resolves issue #864)
--HG--
branch : minor
2014-04-01 20:49:24 -03:00
Alex Szpakowski 6dc10cfd15 Merged default into minor
--HG--
branch : minor
2014-04-01 20:46:31 -03:00
Alex Szpakowski f65e9826d9 Disabled shader code for instancing 2014-03-29 17:51:33 -03:00
Alex Szpakowski fc77e8f9f0 Throw away the first 3 love.math.random results after seeding it (xorshift outputs less random results the first few times when the seed is very similar to a previous one) 2014-03-15 21:43:25 -03:00
Alex Szpakowski 4faddcd9aa Fixed some trivial compiler warnings 2014-03-12 17:55:19 -03:00
Alex Szpakowski caa61563cc OpenGL 2.1 is now required to use love.graphics (resolves issue #779.)
Removed love.graphics.isSupported("canvas", "shader", "npot", "subtractive", and "mipmap"), since those features are all guaranteed by the minimum system requirements.

--HG--
branch : minor
2014-03-12 02:26:32 -03:00
Alex Szpakowski ec0f428c4f Cleaned up the code for initializing love.filesystem and the source and save directories a bit 2014-03-01 20:23:04 -04:00
Alex Szpakowski ce4fdf4ac9 Added sRGB (gamma-correct) support for Images, Canvases, and the main screen.
love.graphics.newImage(path, “srgb”) creates a new Image whose texels are treated as being in the sRGB color space, so they are linearized when drawing/sampling from the image.

love.graphics.newCanvas(w, h, “srgb”) creates a new Canvas whose texels are treated as being in the sRGB color space, so drawing to the Canvas does a linear->sRGB conversion (but blends linearly), and sampling from it (drawing it or using it in a shader) converts from sRGB to linear space.

The "srgb" window flag does the same as Canvases for the main screen.
2014-02-02 18:31:41 -04:00
Alex Szpakowski 007d0d5216 Windows: create the console before modules are loaded (allows information printed during module initialization to be displayed.) 2014-01-29 16:20:05 -04:00
Alex Szpakowski c5c788e976 Added a built-in variable readable in shaders: ‘love_ScreenSize’. Its x and y components contain the width and height of the current viewport. Resolves issue #841. 2014-01-27 02:58:34 -04:00
Alex Szpakowski 73f1ce0d40 Added instancing support to Meshes via Mesh:setInstanceCount. Added a new built-in variable to vertex shaders: int love_InstanceID.
love.graphics.draw(mesh) will draw the mesh instancecount times, using hardware instancing when available. The only way to draw individual instances differently from each other is to use the love_InstanceID variable in a vertex shader.

Added love.graphics.isSupported(“instancing”). Hardware instancing is supported if true, otherwise a (slower) pseudo-instancing fallback is used internally when drawing instanced meshes.
2014-01-21 06:01:50 -04:00
Alex Szpakowski 81d9810ed8 Fixed t.window.highdpi in love.conf, updated the nogame screen to look slightly better on retina displays 2014-01-18 00:41:02 -04:00
Alex Szpakowski 309193895a Added opt-in support for high-dpi mode in OS X when on a retina display (resolves issue #761).
Added a ‘highdpi’ boolean flag to t.window/love.window.setMode (defaults to false.)
When the window is actually in high-dpi mode on a supported display, the graphics width and height and the mouse position are in pixels, rather than ‘window coordinates’.

Added love.window.getPixelScale. Returns the scale factor of the window from user-space points to pixels (e.g. it will be 1 normally, and 2 on a retina display in OS X with high-dpi mode enabled.)
2014-01-17 21:11:20 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski aa69a695d3 Canvases can now be used in SpriteBatches, ParticleSystems, and Meshes (resolves issue #782).
Canvases and Images are now subclasses of the new Texture class.
Added setTexture and getTexture methods for Meshes, ParticleSystems, and SpriteBatches (the old set/getImage methods are deprecated but not removed.)
Canvas texture coordinates are no longer flipped.
2014-01-03 17:07:12 -04:00
Bart van Strien d81eae8889 Scripts now automatically recompile on change on linux, auto.lua normalizes input names a bit more 2013-12-14 13:57:52 +01:00
Alex Szpakowski eadb718ade Fused status is now set before conf.lua is loaded 2013-12-07 02:13:54 -04:00
Alex Szpakowski f997cc43c1 Fixed a crashing issue when the error handler can’t create a window 2013-12-04 17:03:34 -04:00
Bart van Strien 33bb049ee6 Don't call love.graphics functions in love.run until a window has been created, prevents segfaults when love.window and love.graphics were loaded, but there was no window 2013-12-02 21:07:43 +01:00
Alex Szpakowski 1c8abc74aa Renamed love.math.g/setRandomState and rng:g/setState to love.math.g/setRandomSeed and rng:g/setSeed.
getRandomSeed now always returns the previously set random seed instead of the current (implementation-dependent) random state.
2013-12-01 21:25:27 -04:00
Alex Szpakowski 0fb05fd84d Reorganized the nogame screen’s drawing code to marginally reduce CPU usage. Woo! 2013-11-13 04:07:29 -04:00
Bart van Strien b8a69ab2b6 At least decode file uris now 2013-11-03 20:23:31 +01:00
Alex Szpakowski 8cc5364d15 Changed the SearchOrder argument of love.filesystem.setIdentity and love.filesystem.mount to a boolean (append) instead of an enum 2013-10-30 17:05:46 -03:00
Alex Szpakowski 101c6ae90a Fixed love.window.setFullscreen to update the graphics viewport immediately instead of waiting for the next event polling 2013-10-30 14:26:34 -03:00
Bart van Strien f846ed60b2 Old merge? 2013-10-15 20:03:58 +02:00