Commit Graph

323 Commits

Author SHA1 Message Date
vrld ccdf6e1c00 Fix Issue #476: Add HDR Canvas (thanks, Alexander Szpakowski!).
* Add `love.graphics.isSupported("hdrcanvas")' to query whether the hardware
  actually supports HDR canvases.

* Add optional third argument to `love.graphics.newCanvas(w,h, type)', where
  `type' is one of "normal" or "hdr" and defaults to "normal". HDR canvases
  use floating point that can have values > 1 to store pixels, allowing for
  HDR rendering and other higher level lighting techniques when combined with
  pixel effects.

* Add `canvas:getType()'.
2012-10-11 22:22:10 +02:00
Bart van Strien 148b0c2f6d Correctly read filter modes in newImageFont when the implicit newRasterizer is used (issue #437) 2012-08-03 16:01:33 +02:00
Bart van Strien bddee1753b Use a flags table for setMode now, implement resizable and borderless windows, and add resize event
Example setMode invocation: love.graphics.setMode(800, 600, {fullscreen = false, vsync = true, borderless = true})
t.screen.resizable and t.screen.borderless are available in love.conf
And love.resize(w, h) gets called if it exists on a resize event.
NOTE: love.handlers.resize(w, h) does the required setMode, but that does mean a visual reload

--HG--
branch : minor
2012-07-23 11:53:13 +02:00
Bart van Strien b10bc87b9a Make love.graphics.setCanvas(nil) error
This helps detect typoes, setCanvas() still works as before
2012-07-21 17:51:54 +02:00
vrld 85fa71c519 Make love.graphics.getFont() return (and set) default font when no font set.
Use closures instead of love.graphics.print(f)1() and love.graphics.newFont1.
2012-07-05 16:14:44 +02:00
Bart van Strien 7793e7f02f CRLF to LF 2012-07-04 14:40:24 +02:00
rude 81c38e22d0 Applied the new style guidelines.
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00
Bart van Strien 1a89622262 Fonts and ImageFonts now use the default image filter, newImageFont gets a second and third argument, to optionally specify the filters 2012-05-18 17:23:50 +02:00
Bill Meltsner fc6a9df304 Report lack of support for the subtract blendmode through the Blue Screen of LÖVE instead of stderr spam. 2012-03-03 20:33:55 -05:00
Bill Meltsner 57b4d2c5b9 Add support for falling back to glBlendEquationEXT if necessary.
This should help keep LÖVE from crashing on old cards with crappy drivers.
2012-03-03 19:25:42 -05:00
vrld e02a2679c2 Add love.graphics.getPixelEffect() (issue #372) -- thanks, slime73! 2012-02-09 13:19:52 +01:00
Bill Meltsner be55579a22 Happy New Year, have an enormous diff 2012-01-09 02:41:11 -06:00
Bart van Strien e0b420c988 Properly export love modules to lua, package.loaded is correct now 2012-01-07 14:08:41 +01:00
vrld 6178aea6ef Discard active stencil when switching canvas. 2011-12-29 15:27:04 +01:00
Bart van Strien 864c800e10 Fix some warnings 2011-12-27 21:25:06 +01:00
Bart van Strien c707a4ca45 Properly export all lua-facing functions and use those for initialization (love.cpp no longer explicitly mentions implementations) 2011-12-24 01:10:40 +01:00
Bill Meltsner bc278cf2b8 love.graphics.arc is now better and actually draws in the right direction 2011-12-22 03:37:34 -06:00
Bart van Strien 951d420db7 Eliminate more warnings 2011-12-20 21:02:59 +01:00
Bart van Strien e37470f54d No more Font:set(), instead love.graphics.setNewFont 2011-12-13 19:22:59 +01:00
Bart van Strien 9682ebecf9 Remove love.graphics.setFont([<file>,] <size>) shorthand, idiom is now love.graphics.newFont([<file>,] <size>):set()
This makes sure that setFont doesn't create any fonts.
2011-12-13 18:51:24 +01:00
Bart van Strien 7c8fff979a Create love.window, abstract SDL out of love.graphics 2011-12-11 16:55:52 +01:00
vrld 2b7da8ea27 Rename love.graphics.[sg]etRenderTarget to love.graphics.[sg]etCanvas 2011-12-11 16:24:59 +01:00
Bart van Strien 0aae9684b3 Automated formatting fix 2011-11-16 11:32:41 +01:00
vrld 7a513e1434 Make love::Exception safe(r).
Now allows exceptions of arbitrary length.
Now allows catching a non-reference, i.e. catch(love::Exception e).
2011-11-12 21:11:41 +01:00
vrld aedf532cdc Fix 3/4 of issue #327: memory allocation issues. 2011-11-08 23:22:48 +01:00
vrld f296fbb903 Add format guard 2011-10-26 21:12:17 +02:00
Bart van Strien d8b1d67a34 Centralize NPOT support check for image, export it to isSupported 2011-10-24 17:43:56 +02:00
vrld 48137cd2e1 Fix Issue #278: Set default filter mode for new images.
Add the somewhat lengthy named love.graphics.getDefaultImageFilter() and
love.graphics.getDefaultImageFilter(). The verbose name should point to the
fact that changing the default filter midway through the game will not affect
the images already loaded using love.graphics.newImage().
2011-10-07 14:44:17 +02:00
Bill Meltsner 4f4fbae9a5 Properly #include DrawQable in wrap_Graphics.cpp 2011-10-04 12:38:40 -04:00
Bill Meltsner 14348f6146 Create DrawQable class, make Image and Canvas DrawQable, and make love.graphics.drawq take a DrawQable as its first argument 2011-10-04 12:33:34 -04:00
vrld 4f0028050d Fix issue #294 (really this time).
Add stencil attachment to framebuffer creation. Needed to remove depth
attachment to make it work, but that should not change anything, since depth
test is not enabled anyway. May need testing nonetheless.
2011-09-08 12:25:43 +02:00
vrld d5dce6284f Fix issue #294: Canvas not working when not rendering to default render target. 2011-09-07 13:42:51 +02:00
Bart van Strien cc7b6431eb Change default segments for l.g.circle to max(10, r) 2011-08-31 12:13:06 +02:00
Bart van Strien 5c43ba2779 More float quad work (issue #285) 2011-08-25 14:06:50 +02:00
Bart van Strien b14ca78109 Add string mapping for spritebatch usage parameter (issue #264) 2011-08-24 12:11:08 +02:00
Bart van Strien f0dad41f39 Switch quads over to floats instead of ints (issue #285) 2011-08-24 09:58:16 +02:00
vrld ec2cf3fbe9 Rename Mask to Stencil 2011-08-12 15:31:48 +02:00
vrld cbe2d12db7 Use singular in l.g.isSupported() 2011-08-12 15:11:04 +02:00
vrld af1e8761fa Change l.g.isSupported('framebuffer') to l.g.isSupported('canvas') 2011-08-12 14:45:55 +02:00
vrld 28b4008797 Rename Framebuffer to Canvas (issue #263). Move error reporting code.
Error reporting now resides in Graphics::newCanvas() instead of the
previous location wrap_newFramebuffer(). Changed error text for
"Error in implementation" to point to a possible fix.
2011-08-12 14:41:18 +02:00
rude 480f936815 Added 'VertexBuffer' abstraction. SpriteBatches are now always supported.
Also improved memory usage in SpriteBatch. (No need to retain full copy of
sprites in memory. Can read that data back later to save data from OpenGL
context destruction).
2011-08-12 11:35:14 +02:00
Bart van Strien 620d359331 Add getRenderTarget (issue #257) 2011-08-06 14:16:28 +02:00
rude e1d1ebb2f1 Fix warnings in MSVC 2010. 2011-07-24 18:32:11 +02:00
Bart van Strien 3c5c4ee604 Add SpriteBatch support to love.graphics.isSupported 2011-07-24 15:37:02 +02:00
Bart van Strien bd2b190a19 Add love.graphics.isSupported
Replaces love.graphics.hasPixelEffects and also does framebuffer support.

Also fixed 4 compiler warnings.
2011-07-24 15:21:52 +02:00
vrld 7b6836466e Add missing files 2011-07-24 14:08:11 +02:00
vrld 24a52f056b Add pixel effects (love-glsl) 2011-07-24 14:03:46 +02:00
vrld b1c5b948c3 Fix issue #259: oy ignored in love.graphics.drawq 2011-07-18 02:07:46 +02:00
Bart van Strien cc4f0e2661 Add love.graphics.getMode, thanks Boolsheet (issue #254) 2011-07-11 17:14:52 +02:00
vrld 6ea187b2f1 Use *ARB versions for VBOs in SpriteBatch. Throw error if SpriteBatch not
supported. Prettier overloading of SpriteBatch:add[q]().
2011-07-05 16:06:14 +02:00