exsprite man page on DragonFly

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

exsprite(3)			Allegro manual			   exsprite(3)

NAME
       exsprite - Datafiles access and sprite animation. Allegro game program‐
       ming library.

SYNOPSIS
       #include <allegro.h>

       Example exsprite

DESCRIPTION
       This example demonstrates how to use datafiles, various sprite  drawing
       routines and flicker-free animation.

       Why  is the animate() routine coded in that way?	 As you probably know,
       VIDEO RAM is much slower than "normal" RAM, so it's advisable to reduce
       VRAM  blits  to	a  minimum.   Drawing sprite on the screen (meaning in
       VRAM) and then clearing a background for it  is	not  very  fast.  This
       example uses a different method which is much faster, but require a bit
       more memory.

       First the buffer is cleared (it's a normal BITMAP), then the sprite  is
       drawn  on  it,  and  when the drawing is finished this buffer is copied
       directly to the screen. So the end result is that  there	 is  a	single
       VRAM  blit  instead  of	blitting/clearing the background and drawing a
       sprite on it.  It's a good method even when you	have  to  restore  the
       background. And of course, it completely removes any flickering effect.

       When one uses a big (ie. 800x600 background) and draws something on it,
       it's wise to use a copy of background somewhere in memory  and  restore
       background  using this "virtual background". When blitting from VRAM in
       SVGA modes, it's probably, that drawing routines have to	 switch	 banks
       on video card. I think, I don't have to remind how slow is it.

       Note that on modern systems, the above isn't true anymore, and you usu‐
       ally get the best performance by caching all your animations  in	 video
       ram  and	 doing	only  VRAM->VRAM  blits, so there is no more RAM->VRAM
       transfer at all anymore. And usually, such transfers can run in	paral‐
       lel on the graphics card's processor as well, costing virtually no main
       cpu time at all.	 See the exaccel example for an example of this.

SEE ALSO
       BITMAP(3), DATAFILE(3), END_OF_FUNCTION(3), END_OF_MAIN(3),  LOCK_FUNC‐
       TION(3),	 LOCK_VARIABLE(3), SCREEN_H(3), SCREEN_W(3), allegro_error(3),
       allegro_init(3),	 allegro_message(3),  blit(3),	circle(3),  clear_bit‐
       map(3),	   clear_keybuf(3),    create_bitmap(3),    destroy_bitmap(3),
       draw_sprite(3),	    draw_sprite_h_flip(3),	draw_sprite_v_flip(3),
       draw_sprite_vh_flip(3), fixed(3), font(3), hline(3), install_int_ex(3),
       install_keyboard(3),  install_sound(3),	install_timer(3),   itofix(3),
       key(3),	keypressed(3), load_datafile(3), makecol(3), palette_color(3),
       pivot_sprite(3), pivot_sprite_v_flip(3),	 play_sample(3),  rectfill(3),
       replace_filename(3),   rest(3),	screen(3),  set_gfx_mode(3),  set_pal‐
       ette(3),	 text_height(3),   textout_centre_ex(3),   unload_datafile(3),
       vsync(3)

Allegro				 version 4.4.2			   exsprite(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