Pagi rekan-rekan sekalian, salam sejahterah selalu. Sebenarnya ogut agak sedih pagi ini karena berita terungkapnya fakta-fakta baru kasus ‘Engeline di Bali’...tetapi blog harus jalan terus dan kali ini aku akan memberikan contoh program yang menampilkan font di OpenGL.
Font kadang perlu ditampilkan di sebuah program game atau program grafik, di OpenGL ternyata sangat mudah untuk menampilkan font seperti gambar-gambar yang ogut sertakan di bawah ini.
Untuk menampilkan font ternyata hanya perlu 3 langkah saja. Pertama buat font-nya dengan fungsi di bawah ini.
unsigned int create_font(unsigned int font_size, HDC hdc_p)
{
HFONT hfont_var;
unsigned int listbase_var;
listbase_var = glGenLists(128);
hfont_var = CreateFont(font_size, 0, 0, 0,
FW_BLACK,
FALSE, FALSE, FALSE,
ANSI_CHARSET,
OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
FF_DONTCARE |
DEFAULT_PITCH,
"Consolas");
//"Arial");
if (!hfont_var)
{
MessageBox(NULL, "Can not create font",
"Font Error", MB_OK);
return NULL;
}
SelectObject(hdc_p, hfont_var);
wglUseFontBitmaps(hdc_p, 32, 128, listbase_var);
return listbase_var;
}
Kedua display font tersebut.
void display_text(unsigned int listbase_param, double X_p, double Y_p, char *string_param)
{
//tidak ada yang perlu di display,
//karena string ==NULL
if (string_param == NULL)
return;
glRasterPos3d(X_p, Y_p, 7.0);
glPushAttrib(GL_LIST_BIT);
glListBase(listbase_param - 31);
glCallLists(strlen(string_param), GL_UNSIGNED_BYTE, string_param);
glPopAttrib();
}
Dan terakhir hapus font jika sudah tidak digunakan lagi.
void hapus_font(unsigned int listbase_param)
{
if (listbase_param != 0)
glDeleteLists(listbase_param, 128);
}
Mudah bukan? semoga artikel ini bermanfaat bagi rekan-rekan sekalian.
Salam sukses selalu
Heriady
heriady.yoh@gmail.com
Doa kedamaian buat Engeline, semoga engkau tenang di tempat yang baru dalam dekapan Tuhan Yang Maha Esa, tiada lagi penderitaan yang bakal engkau alami, kami semua akan merindukanmu.
Download source code program ada di link ini.
Artikel terkait
Program pertama OpenGL 3D
|
|
Garden 3D yang dibuat dengan 3ds max
|
|
Membuat objek 3D dengan 3ds max
|
Tidak ada komentar:
Posting Komentar