Sam Lantinga
89be0e49c6
Updated copyright date for 2020
2020-01-16 20:49:25 -08:00
Sam Lantinga
42d4027b9b
Fixed bug 4903 - Lack of color multiply with alpha (SDL_BLENDMODE_MOD + SDL_BLENDMODE_BLEND) blending mode for all renderers
...
Konrad
This kind of blending is rather quite useful and in my opinion should be available for all renderers. I do need it myself, but since I didn't want to use a custom blending mode which is supported only by certain renderers (e.g. not in software which is quite important for me) I did write implementation of SDL_BLENDMODE_MUL for all renderers altogether.
SDL_BLENDMODE_MUL implements following equation:
dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
dstA = (srcA * dstA) + (dstA * (1-srcA))
Background:
https://i.imgur.com/UsYhydP.png
Blended texture:
https://i.imgur.com/0juXQcV.png
Result for SDL_BLENDMODE_MOD:
https://i.imgur.com/wgNSgUl.png
Result for SDL_BLENDMODE_MUL:
https://i.imgur.com/Veokzim.png
I think I did cover all possibilities within included patch, but I didn't write any tests for SDL_BLENDMODE_MUL, so it would be lovely if someone could do it.
2020-01-16 08:52:59 -08:00
Sam Lantinga
a7609d9e2a
Updated copyright for 2019
2019-01-04 22:01:14 -08:00
Ryan C. Gordon
8e4e731587
Added some detail to a Doxygen comment (thanks, Sylvain!).
2018-12-01 12:17:34 -05:00
Sam Lantinga
a9072159b2
Updated copyright for 2018
2018-01-03 10:03:25 -08:00
Sam Lantinga
b4534658a9
Fixed compiler warning with enum
2017-08-14 10:14:07 -07:00
Sam Lantinga
df0ee407ab
Implemented more flexible blending modes for accelerated renderers
...
This fixes bug 2594 - Propose new blend mode, SDL_BLENDMODE_BLEND_DSTA
blendMode = SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_SRC_ALPHA,
SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
SDL_BLENDOPERATION_ADD,
SDL_BLENDFACTOR_ZERO,
SDL_BLENDFACTOR_ONE,
SDL_BLENDOPERATION_ADD);
This fixes bug 2828 - Subtractive Blending
blendMode = SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_SRC_ALPHA,
SDL_BLENDFACTOR_ONE,
SDL_BLENDOPERATION_SUBTRACT,
SDL_BLENDFACTOR_ZERO,
SDL_BLENDFACTOR_ONE,
SDL_BLENDOPERATION_SUBTRACT);
This goes partway to fixing bug 3684 - Add support for a pre-multiplied alpha blending mode
blendMode = SDL_ComposeCustomBlendMode(SDL_BLENDFACTOR_ONE,
SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
SDL_BLENDOPERATION_ADD,
SDL_BLENDFACTOR_ONE,
SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA,
SDL_BLENDOPERATION_ADD);
2017-08-14 05:51:44 -07:00
Sam Lantinga
d77ab77a7a
Updated copyright for 2017
2017-01-01 18:33:28 -08:00
Sam Lantinga
9cc7ce9008
Renaming of guard header names to quiet -Wreserved-id-macro
...
Patch contributed by Sylvain
2016-11-20 21:34:54 -08:00
Sam Lantinga
255c182471
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
Sam Lantinga
78f2198e6c
Updated the copyright year to 2015
2015-05-26 06:27:46 -07:00
Philipp Wiesemann
9d0b33d854
Corrected header file guard comments.
2014-11-25 22:37:12 +01:00
Sam Lantinga
dba255c1e5
Fixed bug 2374 - Update copyright for 2014...
...
Is it that time already??
2014-02-02 00:53:27 -08:00
Sam Lantinga
4862c1fc30
Updated blend semantics so blending uses the following formula:
...
dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
dstA = srcA + (dstA * (1-srcA))
This allows proper compositing semantics without requiring premultiplied alpha.
Needs full unit test coverage and bug fixes!
2013-07-23 08:06:49 -07:00
Sam Lantinga
0d9b661db8
File style cleanup for the SDL 2.0 release
2013-05-18 14:17:52 -07:00
Sam Lantinga
019c60c1e8
Happy New Year!
2013-02-15 08:47:44 -08:00
Sam Lantinga
e256711bb9
Happy New Year!
2011-12-31 09:28:07 -05:00
Sam Lantinga
6196aa221e
SDL 1.3 is now under the zlib license.
2011-04-08 13:03:26 -07:00
Sam Lantinga
a2cdcf5486
Happy 2011! :)
2011-02-11 22:37:15 -08:00
Sam Lantinga
4f6e1878af
Restored SDL_BLENDMODE_MOD for MAME
2011-02-04 19:50:56 -08:00
Sam Lantinga
0efb1ea0b2
Making the API simpler, the blend modes are "none, blend, add" and are supported by all renderers.
2011-01-31 23:23:57 -08:00
Sam Lantinga
d6eac2c481
Use the enumerated type for blend and scale mode instead of int
...
Renamed SDL_TextureScaleMode to SDL_ScaleMode
2010-12-12 15:19:05 -08:00