Grafika Komputer : Prosedur & Fungsi dalam Library Grafis Allegro

9 12 2009

3. Jelaskan apa yang dimaksud dengan prosedur dan fungsi-fungsi berikut dalam library grafis Allegro:

Catatan: masing-masing fungsi, prosedur dan variabel berikan syntax-nya dan contoh penggunaannya.

  • buffer (dalam pemrograman grafis)

Buffer adalah file penyangga dalam pemrograman grafis.

Contoh penggunaannya :

AUDIOSTREAM *play_audio_stream(int len, int bits, int stereo, int freq, int vol, int pan);

  • tipe data BITMAP dalam Allegro

Inisialisasi tipe data bitmap:

bmp = load_bitmap(“file.bmp”, pal);

allegro_message(“Bitmap size: (%dx%d)\n”, bmp->w, bmp->h);

(w dan h itu maksudnya ukuran bitmap dalam pixel)

  • prosedur putpixel

Inisialisasi prosedur putpixel :

void putpixel(BITMAP *bmp, int x, int y, int color);

Putpixel berguna untuk menulis pixel ke posisi yang spesifik dalam bitmap, menggunakan mode drawing dan persegi panjang bitmap yang dipendekkan.

Contoh penggunaannya :

putpixel(screen, 20, 40, some_color);

  • prosedur line

Inisialisasi prosedur line :

void line(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);

Berfungsi untuk menggambar garis dalam bitmap.

  • prosedur rectfill

Inisialisasi prosedur rectfill :

void rectfill(BITMAP *bmp, int x1, int y1, int x2, int y2, int color);

Berfungsi untuk menggambar persegi panjang berisi yang solid.

  • fungsi create_bitmap

Inisialisasi fungsi create_bitmap :

BITMAP *create_bitmap(int width, int height);

Berfungsi untuk menciptakan memori untuk bitmap.

Contoh penggunaannya :

/* Mengkreasi bitmap dengan panjang 5 pixel*/

BITMAP *bmp = create_bitmap(SCREEN_W, 5);

if (!bmp)

abort_on_error(“Tidak bisa menciptakan bitmap!”);

/* Gunakan bitmap */

/* Hancurkan bitmap tersebut jika kita tidak     memerlukannya lagi */

destroy_bitmap(bmp);

  • fungsi load_bitmap

Inisialisasi fungsi load_bitmap :

BITMAP *load_bitmap(const char *filename, RGB *pal);

Berfungsi untuk memuat tipe data bitmap dari file.

Contoh penggunaannya :

BITMAP *bmp;

PALETTE palette;

bmp = load_bitmap(“image.pcx”, palette);

if (!bmp)

abort_on_error(“Tidak bisa memuat image.pcx!”);

destroy_bitmap(bmp);

  • fungsi destroy_bitmap

Inisialisasi fungsi destroy_bitmap :

void destroy_bitmap(BITMAP *bitmap);

Berfungsi untuk menghapus memori bitmap, sub bitmap, video memori bitmap, dan sistem bitmap ketika kita sudah selesai menggunakannya.

  • fungsi clear_bitmap

Inisialisasi fungsi clear_bitmap :

void clear_bitmap(BITMAP *bitmap);

Berfungsi untuk membersihkan bitmap ke keadaan tidak berwarna atau warna 0.

  • teknik double buffering

Contoh penggunaannya :

/* Membuat bitmap dalam RAM */

BITMAP *bmp = create_bitmap(320, 200);

/* Membersihkan memori bitmap */

clear_bitmap(bmp);

/* Menggambar dalam memori bitmap */

putpixel(bmp, x, y, color);

/* Mengkopinya ke layar */

blit(bmp, screen, 0, 0, 0, 0, 320, 200);

  • prosedur rest

Inisialisasi prosedur rest :

void rest(unsigned int time);
Berfungsi untuk mengendalikan kecepatan gerak program.

  • prosedur blit

Inisialisasi prosedur blit :

void blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);

Berfungsi untuk mengkopi area persegi panjang dari satu bitmap ke bitmap lainnya.

Contoh penggunaannya :

BITMAP *bmp;

/* Blit src on the screen. */

blit(bmp, screen, 0, 0, 0, 0, bmp->w, bmp->h);

/* Now copy a chunk to a corner, slightly outside/*

blit(screen, screen, 100, 100, -10, -10, 25, 30);

  • prosedur masked_blit

Inisialisasi prosedur masked_blit :

void masked_blit(BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height);

Berfungsi seperti blit tapi dengan tambahan lapisan warna.

Contoh penggunaannya :

BITMAP *hud_overlay;

/* Paint hud overlay on the screen. */

masked_blit(hud_overlay, screen, 0, 0, 0, 0,

hud_overlay->w, hud_overlay->h);

  • prosedur draw_sprite

Inisialisasi prosedur draw_sprite :

void draw_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y);INST

Berfungsi untuk menggambar copy dari sprite ke bitmap tujuan sesuai dengan posisi yang ditunjuk.

Contoh penggunaannya :

BITMAP *spaceship;

draw_sprite(screen, spaceship, x, y);

  • fungsi install_keyboard

Inisialisasi fungsi install_keyboard :

int install_keyboard();

Berfungsi untuk menginstall keyboard allegro yang mengganggu pemegang.

Contoh penggunaannya :

allegro_init();

install_timer();

install_keyboard();

/* Kita belum yakin 100 % kalau kita bisa membaca  keyboard */

if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) != 0)

abort_on_error(“Couldn’t set graphic mode!”

/*Sekarang kita menjamin kalau keyboard sudah bisa dibaca*/

readkey();

  • fungsi install_mouse

Inisialisasi fungsi install_mouse :

int install_mouse();

Berfungsi untuk menginstall pemegang mouse allegro.

  • fungsi makecol

Inisialisasi fungsi makecol :

int makecol(int r, int g, int b);

Berfungsi untuk mengubah nilai RGB ke format pixel yang diinginkan.

Contoh penggunaan :

/* Regardless of color depth, this will look green*/

int green_color = makecol(0, 255, 0);

  • fungsi set_color_depth

void set_color_depth(int depth);

Berfungsi untuk mengatur kedalaman warna pixel secara keseluruhan.

Contoh penggunaannya :

set_color_depth(32);

if (set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) != 0) {

abort_on_error(“Couldn’t set a 32 bit color resolution”);}

  • variabel bawaan Allegro, “screen”

Inisialisasi variabel screen :

extern BITMAP *screen;

Berfungsi sebagai pointer dalam bitmap.

Contoh penggunaannya :

/* Membuat bitmap dalam RAM */

BITMAP *bmp = create_bitmap(320, 200);

/* Membersihkan memori bitmap */

clear_bitmap(bmp);

/* Menggambar dalam memori bitmap */

putpixel(bmp, x, y, color);

/* Mengkopinya ke layar */

blit(bmp, screen, 0, 0, 0, 0, 320, 200);

  • fungsi keypressed

Inisialisasi fungsi keypressed :

int keypressed();

Berfungsi untuk memberitahu jika ada keypress yang menunggu dalam buffer input.

Contoh penggunaannya :

while (!keypressed()) {

/* Show cool animated logo. */

}

/* So he skipped our title screen. */

  • array key (dalam kasus penanganan inputan keyboard)

Inisialisasi array key :

extern volatile char key[KEY_MAX];

Berfungsi sebagai array yang mengindikasikan state key.

Contoh penggunaannya :

if (key[KEY_SPACE])

printf(“Space is pressed\n”);

  • fungsi set_gfx_mode

Inisialisasi fungsi set_gfx_mode :

int set_gfx_mode(int card, int w, int h, int v_w, int v_h);

Berfungsi untuk mengatur mode grafik video.

Posted By : Evan Yofiyanto @ Evan’s Blog : Kuliah Informatika (kuliahinformatika.wordpress.com)

[FREAX]


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: