al_set_blender man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

al_set_blender(3)					     al_set_blender(3)

NAME
       al_set_blender - Allegro 5 API

SYNOPSIS
	      #include <allegro5/allegro.h>

	      void al_set_blender(int op, int src, int dst)

DESCRIPTION
       Sets the function to use for blending for the current thread.

       Blending means, the source and destination colors are combined in draw‐
       ing operations.

       Assume the source color (e.g.  color of a rectangle to draw,  or	 pixel
       of  a  bitmap  to draw) is given as its red/green/blue/alpha components
       (if the bitmap has no alpha it always is assumed to be fully opaque, so
       255  for	 8-bit	or  1.0 for floating point): sr, sg, sb, sa.  And this
       color is drawn to a destination, which already has a color: dr, dg, db,
       da.

       The conceptional formula used by Allegro to draw any pixel then depends
       on the op parameter:

       · ALLEGRO_ADD

		 r = dr * dst + sr * src
		 g = dg * dst + sg * src
		 b = db * dst + sb * src
		 a = da * dst + sa * src

       · ALLEGRO_DEST_MINUS_SRC

		 r = dr * dst - sr * src
		 g = dg * dst - sg * src
		 b = db * dst - sb * src
		 a = da * dst - sa * src

       · ALLEGRO_SRC_MINUS_DEST

		 r = sr * src - dr * dst
		 g = sg * src - dg * dst
		 b = sb * src - db * dst
		 a = sa * src - da * dst

       Valid values for src and dst passed to this function are

       · ALLEGRO_ZERO

		 src = 0
		 dst = 0

       · ALLEGRO_ONE

		 src = 1
		 dst = 1

       · ALLEGRO_ALPHA

		 src = sa
		 dst = sa

       · ALLEGRO_INVERSE_ALPHA

		 src = 1 - sa
		 dst = 1 - sa

       Blending examples:

       So for example, to restore the default  of  using  premultiplied	 alpha
       blending, you would use (pseudo code)

	      al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA)

       If you are using non-pre-multiplied alpha, you could use

	      al_set_blender(ALLEGRO_ADD, ALLEGRO_ALPHA, ALLEGRO_INVERSE_ALPHA)

       Additive blending would be achieved with

	      al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_ONE)

       Copying the source to the destination (including alpha) unmodified

	      al_set_blender(ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_ZERO)

SEE ALSO
       al_set_separate_blender(3), al_get_blender(3)

Allegro reference manual				     al_set_blender(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net