• Show log

    Commit

  • Hash : 981e0d36
    Author : Sam Lantinga
    Date : 2020-01-16T08:52:59

    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.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/SDL.git
    Git SSH git@git.kmx.io:kc3-lang/SDL.git
    Public access ? public
    Description

    Fork of https://github.com/libsdl-org/SDL

    Users
    thodg_w kc3_lang_org thodg_l thodg_m www_kmx_io thodg
    Tags

  • README.txt

  •                          Simple DirectMedia Layer
    
                                      (SDL)
    
                                    Version 2.0
    
    ---
    https://www.libsdl.org/
    
    Simple DirectMedia Layer is a cross-platform development library designed
    to provide low level access to audio, keyboard, mouse, joystick, and graphics
    hardware via OpenGL and Direct3D. It is used by video playback software,
    emulators, and popular games including Valve's award winning catalog
    and many Humble Bundle games.
    
    More extensive documentation is available in the docs directory, starting
    with README.md
    
    Enjoy!
    	Sam Lantinga				(slouken@libsdl.org)