Commit Graph

2146 Commits

Author SHA1 Message Date
Alex Szpakowski 472915a4bb Worked around ATI/AMD driver bugs when creating mipmaps for Images 2013-02-23 15:52:03 -04:00
Alex Szpakowski d9736ab3ab Removed mipmap support from Font graphics objects 2013-02-19 14:21:01 -04:00
Alex Szpakowski 5bf78f891d Fixed OpenGL vertex buffer function usage (issue #489.)
The functions will be assigned to their core version counterparts if the extension version isn't supported but the core version is.
2013-02-19 03:17:05 -04:00
Alex Szpakowski 23968d3b4a Fixed image mipmap creation on some systems with buggy video drivers 2013-02-17 11:36:17 -04:00
Alex Szpakowski 8c21c4dce0 Fixed love.graphics.getBlendMode on systems which don't support the subtractive blend mode 2013-02-17 00:19:46 -04:00
Alex Szpakowski a68bdfe7a2 Constified many Graphics and Window methods 2013-02-16 01:45:01 -04:00
Alex Szpakowski eba8cbc0b5 Removed internal code support for multitexturing without shaders, since it's not currently used and there are no plans to do so 2013-02-16 01:04:00 -04:00
Alex Szpakowski 1945b7975d Cleaned up exception handling code when creating new fonts, spritebatches, and shaders 2013-02-14 21:49:11 -04:00
Alex Szpakowski e1779897ab Removed love.graphics.drawTest 2013-02-14 08:03:55 -04:00
Alex Szpakowski 77ab120424 Fixed SpriteBatch file includes 2013-02-11 20:27:29 -04:00
Alex Szpakowski ceb0ee6c7e Added SpriteBatch:remove(id) 2013-02-11 18:27:57 -04:00
Alex Szpakowski 96161c66f6 Updated copyright text for the new year 2013-02-05 05:32:49 -04:00
Alex Szpakowski e16b5afa6d Fixed love.graphics.getPointStyle 2013-02-01 01:44:00 -04:00
Alex Szpakowski a76ffd5715 Fixed VertexIndex::getElementSize 2013-01-30 19:01:14 -04:00
Alex Szpakowski de959b7275 Added a method to VertexIndex to determine the size in bytes of an element in the index array 2013-01-30 17:50:32 -04:00
Alex Szpakowski a9211a1389 Removed direct OpenGL calls in the SDL Window module 2013-01-30 00:27:46 -04:00
Alex Szpakowski 7a16e4cb49 Made Visual Studio play nice with the C++ STL min/max functions in the new shader code 2013-01-29 13:01:34 -04:00
Alex Szpakowski 7384bf15d3 Merged rude/love into default 2013-01-29 11:25:38 -04:00
Alex Szpakowski 02d2a872ab Improved shader member variable names, fixed up XCode project file 2013-01-29 04:34:36 -04:00
Bart van Strien 0fd4b147a4 Merge in default
--HG--
branch : minor
2013-01-27 19:15:55 +01:00
Alex Szpakowski 5cae5ea37e Removed code for tesselation and geometry shader detection 2013-01-24 18:26:40 -04:00
Alex Szpakowski 022f549554 Use unsigned ints instead of unsigned shorts to represent UTF8 font glyphs 2013-01-22 23:43:35 -04:00
Alexander Szpakowski f016840ed0 Merged in changes from main repository 2013-01-21 02:31:15 -04:00
Bart van Strien 4221d55468 Enfore limits on ParticleSystem:setSizeVariation (issue #545) 2013-01-18 21:03:07 +01:00
Bart van Strien 32684b674e Add Font:getAscent/getDescent/getBaseline (issue #445) 2013-01-18 13:20:40 +01:00
Bart van Strien 84b6eedf1f Make the default point style to setPoint 'smooth' (issue #543), and fix setPointStyle ignoring normal operation 2013-01-18 12:43:43 +01:00
Alexander Szpakowski ce75b3af69 Merge from root 2013-01-17 20:29:48 -04:00
Bart van Strien 501beb7d02 Add blend mode 'none' (issue #536) 2013-01-18 00:48:36 +01:00
Bart van Strien b97765b169 Check for OpenGL 2.0 in NPOT check (issue #538) 2013-01-18 00:29:01 +01:00
Alexander Szpakowski 9f8f493aed Texel (texture2D) calls in shaders now return pure white instead of pure black when drawing untextured graphics primitives. This prevents the need for separate "passthrough" shaders to be used when drawing graphics primitives vs images. 2013-01-17 04:18:38 -04:00
Alexander Szpakowski e24d721381 Renamed all instances of 'ShaderEffect' (previously 'PixelEffect') to 'Shader'. 2013-01-16 07:21:41 -04:00
Alexander Szpakowski 331c883c77 Improved clarity of some comments, variable names, and functions 2013-01-15 20:20:35 -04:00
vrld 2db9bfad11 Fix PixelEffect texture unit pool.
Fixes two problems: (1) Overwriting externs with the same name and (2) not using unused texture units properly.

1) Sending two different images to two different effects using the same extern name would use the same image for both effects, e.g.:

	effect_1:send('img', img_1)
	effect_2:send('img', img_2) -- also changes img to point to img_2 in effect_1!

Fixed by localizing the name -> texture unit mapping for each pixel effect.

2) When a pixel effect was destroyed, the allocated texture units were not marked as being available again. Fixed by having a vector<bool> marking the free units instead of just a counter how many units are in use.


Still problematic: Sending more than GL_MAX_TEXTURE_IMAGE_UNITS (>= 16, depending on the implementation) images/canvases *in total* to pixel effects. Effects could hold references to used *texture-ids* and bind/unbind them dynamically on a effect switch. Con: Introduces additional complexity when switching effects. However, benchmarks by Alexander Szpakowski have shown the performance loss is negligible.
2013-01-13 16:19:27 +01:00
Alexander Szpakowski 8fdd6cbbb2 Merged in from main repository (originally from love-mipmap fork) 2013-01-12 18:07:14 -05:00
vrld 3b80c52cc2 Merged in slime73/love-mipmap (pull request #18: Add mipmapping support to images) 2013-01-12 23:54:15 +01:00
rude c03e35b6cc Merge default branch.
--HG--
branch : minor
2013-01-12 11:52:04 +01:00
rude 697f4de80a Fix compilation issue in MSVC2012. 2013-01-12 11:28:32 +01:00
Alexander Szpakowski 69dc6c76e8 Better boolean shader extern support 2013-01-11 00:47:15 -04:00
Alexander Szpakowski f1e72efd30 Cleaned up graphics.lua script a bit 2013-01-08 23:59:48 -04:00
Alexander Szpakowski 3e3f5c6bdd Minor tweaks, balanced disable/enable clientstate calls in SpriteBatches 2013-01-08 05:33:22 -04:00
Alexander Szpakowski 808a09f786 Changed shader source list from a vector of sources to a map of shader types to source codes 2013-01-07 19:13:19 -04:00
Alexander Szpakowski b6088115c9 Changed some variable names to be more descriptive 2013-01-07 18:26:41 -04:00
Alexander Szpakowski 36c5259e12 Font objects now have mipmap filter and mipmap sharpness support 2013-01-07 16:31:48 -04:00
Alexander Szpakowski a6f4a3ab0f Removed names of unused parameters to quiet noisy compilers 2013-01-07 07:29:04 -04:00
Alexander Szpakowski e5388ff73b Removed more unnecessary tabs in blank lines 2013-01-07 07:11:40 -04:00
Alexander Szpakowski eb98e8cc48 Removed unnecessary tabs in empty lines, fixed texture filtering when the minification and mipmap filter are the same 2013-01-07 06:56:59 -04:00
Alexander Szpakowski 609ef2c4e4 Format luaL_error strings properly in ShaderEffect lua wrapper code 2013-01-07 06:39:33 -04:00
Alexander Szpakowski 88af7239c3 Removed unnecessary tabs from empty lines 2013-01-07 06:21:15 -04:00
Alexander Szpakowski 0968fa6f11 More cleanup and some overdone comments 2013-01-05 15:59:01 -04:00
Alexander Szpakowski 37191a5953 Minor cleanup 2013-01-04 05:05:25 -04:00