Flowchart Operasi CreateFont Flowchart Operasi BeginRendering

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