Flowchart Operasi Go Flowchart Diagram

3.5.3. Flowchart Operasi Go

Operasi Go merupakan salah satu fungsi bantuan helper function dari kelas TumozD3D yang membantu proses inisialisasi pada operasi Init. Operasi ini berfungsi untuk memulai jalannya proses API Direct3D berdasarkan pilihan setting device, format dan sebagainya dari combo box pada operasi Init. Proses awal dari operasi ini dimulai dari membuat obyek Direct3D9 D3D dan jika berhasil maka dilanjutkan ke proses perulangan untuk memeriksa pilihan setting device user yang sesuai dengan combo box untuk disimpan datanya. Setelah itu dilanjutkan proses pembuatan struktur present parameter berdasarkan data yang di simpan sebelumnya beserta pengaturan stencil buffer dan tampilan windows apakah akan memakai layar penuh fullscreen atau tidak. Pada tahapan ini proses dilanjutkan dengan pembuatan obyek Direct3DDevice9 D3DDevice berdasarkan parameter dari data pilihan device yang di simpan dan data present parameter yang telah di buat. Apabila tampilan windows yang diinginkan lebih dari satu dan tampilannya tidak memakai layar penuh fullscreen maka perlu dibuatkan swapchain tambahan yang berfungsi untuk menampilkan beberapa jendela tampilan secara simultan. Tahapan akhir dari operasi ini adalah memeriksa apakah obyek D3DDevice pointer device telah berhasil di buat dan tidak mengalami error. Jika berhasil maka akan menampilkan hasil pada file log bahwa device telah siap di gunakan dan memanggil fungsi LogDeviceCaps untuk informasi tambahan. Jika semuanya telah selesai maka data-data status sistem akan di simpan ke variabel global dan kemudian dilanjutkan lagi ke operasi OneTimeInit. Untuk lebih jelasnya flowchart dari operasi tersebut dapat dilihat pada gambar 3.31. STIKOM SURABAYA Mulai Cek pointer D3D ada? Release dan set NULL Ya Buat Direct3D9 Buat D3D gagal? Tidak True i = 0 False i Jumlah combo device Cek Apakah Combo Sesuai dgn adapter? Ya Simpan nilai combo dan break Ya Tidak Set Present Parameter Tampil log error: Direct3DCreate9 i++ Apakah jenis Stencil buffer dipilih? m_bStencil = true Ya m_bStencil = false Tidak Tampilan fullscreen? Atur windows utama D3D beserta ukuran Back Buffer dan hilangkan cursor Ya Set windows index 0 ke windows utama D3D beserta ukuran Back buffer sesuai dengan windows default Tidak Buat Device Direct3D Cek jumlah windows 0 tidak fullscreen? Buat SwapChain tambahan Ya Release pointer enumerasi dan set NULL Tidak Cek Device Direct3D gagal? Tampil log error: IDirect3D::Creat eDevice Ya Tampil log inisialisasi siap dan online Tidak Buat LogDeviceCaps Return TUMOZ_CREATEDEVI CE Set variabel global bahwa device sudah berjalan Return OneTimeInit; Selesai Gambar 3.31. Flowchart Operasi Go STIKOM SURABAYA

3.5.4. Flowchart Operasi OneTimeInit