3.5.11. Flowchart Operasi CreateFont
Operasi ini digunakan untuk membuat obyek font GDI yaitu obyek standar pada windows untuk menggambar huruf atau teks dalam proses rendering.
Operasi CreateFont merupakan operasi bagian dari kelas TumozD3D dan turunan dari operasi interface TumozRenderDevice.
Untuk membuat obyek font harus ditentukan terlebih dahulu deskripsi dari font tersebut seperti tinggi, lebar, style dan sebagainya menggunakan struct
D3DXFONT_DESC. Obyek tersebut kemudian di buat menggunakan fungsi D3DXCreateFontIndirect
dari API Direct3D. Untuk lebih jelasnya flowchart dari operasi ini dapat dilihat pada gambar 3.40.
Mulai Cek
apakah pointer ID font
dari param valid?
Set masing-masing atribut D3DX Font Description
berdasarkan parameter seperti tinggi, lebar, style
font dll Tidak
Return TUMOZ_INVALIDPARAM
Ya
Selesai Alokasikan tempat baru
utk pointer global LPD3DXFont
menggunakan Realloc Panggil
D3DXCreateFontIndirect dgn pointer D3D Device,
Font Desc dan pointer Font global indeks baru sbg
param dan simpan Hresult Cek apakah
HResult D3DXCreateFontIndirect
berhasil?
Simpan Jumlah Font ke dalam pointer ID Font
dari param sbg ID baru Ya
Increment jumlah Font yang ada
Return TUMOZ_OK
Return TUMOZ_FAIL
Tidak
Gambar 3.40. Flowchart Operasi CreateFont
STIKOM SURABAYA
3.5.12. Flowchart Operasi BeginRendering
Operasi ini adalah salah satu operasi utama pada kelas TumozD3D untuk memulai proses rendering. Tugasnya antara lain adalah membersihkan scene dan
mempersiapkan device untuk menerima proses rendering geometri. Awalnya buffer pixel, stencil dan depth dibersihkan menggunakan
fungsi Clear dari device dan setelah itu memanggil fungsi device BeginScene yang menandakan device siap untuk melakukan proses rendering. Untuk lebih
jelasnya flowchart dari operasi ini dapat dilihat pada gambar 3.41.
Mulai
Cek parameter
bClearPixel II bClearDepth II
bClearStencil DWORD dw=0
Apakah bClearPixel
== true? Ya
dw |= D3DCLEAR_TARGET
Ya Tidak
Apakah bClearDepth
== true?
dw |= D3DCLEAR_ZBUFFER
Ya Apakah
bClearStencil Stencil global ==
true?
Tidak dw |=
D3DCLEAR_STENCIL Ya
Cek apakah
pemanggilan Clear pada pointer D3D
dengan dw dan ClearColor global
sbg param gagal?
Tidak
Tampil log error:
Clear Ya
Return TUMOZ_FAIL
Selesai Cek
apakah pemanggilan
BeginScene pada pointer D3D
gagal? Tidak
Ya
Set status Scene sedang berjalan
menjadi true pada variabel global
Tidak
Return TUMOZ_OK Tidak
Gambar 3.41. Flowchart Operasi BeginRendering
STIKOM SURABAYA
3.5.13. Flowchart Operasi EndRendering