Provided by: allegro4-doc_4.4.2-4_all bug

NAME

       draw_gouraud_sprite - Draws a sprite with gouraud shading. Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       void draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4);

DESCRIPTION

       More  sophisticated version of draw_lit_sprite(): the "color" parameter is not constant across the sprite
       image anymore but interpolated between the four specified corner colors. The corner values passed to this
       function  indicate  the  strength of the color applied on them, ranging from 0 (no strength) to 255 (full
       strength). Example:

          /* Some one time initialisation code. */
          COLOR_MAP global_light_table;
          create_light_table(&global_trans_table, my_palette,
                             0, 0, 0, NULL);
          ...
          if (get_color_depth() == 8)
             color_map = &global_light_table;
          else
             set_trans_blender(0, 0, 0, 128);

          /* Enemies are in shadow unless lit by torch. */
          draw_gouraud_sprite(buffer, menacing_spy, x, y,
                              light_strength_on_corner_1,
                              light_strength_on_corner_2,
                              light_strength_on_corner_3,
                              light_strength_on_corner_4);

SEE ALSO

       draw_sprite(3alleg4),    draw_lit_sprite(3alleg4),    color_map(3alleg4),     set_trans_blender(3alleg4),
       bitmap_mask_color(3alleg4), exshade(3alleg4)