draw_gouraud_sprite
Draws a sprite with gouraud shading.
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);
Related Projects
The following projects include source code containing this keyword: