Flowchart Operasi SetWorldTransform Flowchart Operasi ActivateVShader

SetVertexShaderConstantF dan diteruskan lagi dengan memanggil fungsi SetRenderState dengan argumen dari nilai tersebut. Detil proses flowchart Operasi dari kelas TumozD3D ini digambarkan pada gambar 3.45. Mulai Panggil ForcedFlushAll dari pointer Vertex Manager global Hitung nilai warna dari parameter dengan range 255 Cek variabel global apakah dapat melakukan Shader? Panggil SetVertexShaderConstantF dari pointer D3D Device untuk mengatur warna default diffuse pd Shader Ya Panggil SetRenderState dari pointer D3D Device untuk Ambient Light dengan warna hasil perhitungan sebagai parameter Tidak Selesai Gambar 3.45. Flowchart Operasi SetAmbientLight

3.5.17. Flowchart Operasi SetWorldTransform

Operasi SetWorldTransform merupakan operasi dari kelas TumozD3D yang mengatur transformasi world yaitu transformasi pada semua obyek dalam scene yang akan di render sampai ada perubahan berikutnya. Prosesnya sangat sederhana yaitu dengan memanggil fungsi dari obyek device SetTransform berdasarkan data matriks world yang diberikan oleh parameter. Untuk lebih jelasnya flowchart dari operasi ini dapat dilihat pada gambar 3.46. STIKOM SURABAYA Mulai Panggil ForcedFlushAll dari pointer Vertex Manager global Cek apakah matriks World dari param kosong? Buat matriks identitas lalu copy ke dalam matriks World global Ya Copy matriks dari parameter simpan ke dalam matriks World global Tidak Panggil CalcWorldViewProjMatrix Cek variabel global apakah dapat melakukan Shader? Panggil SetVertexShaderConstantF dari pointer D3D Device dan Transpose matriks WorldViewProj global sbg param Ya Panggil SetTransform dari pointer D3D Device dan matriks World global sebagai param Tidak Selesai Gambar 3.46. Flowchart Operasi SetWorldTransform

3.5.18. Flowchart Operasi ActivateVShader

Operasi ini bertugas untuk mengaktifkan obyek verteks shader yang di buat sebelumnya pada obyek device. Operasi ActivateVShader merupakan bagian dari kelas TumozD3D. Pada dasarnya obyek verteks shader dapat di buat lebih dari satu karena hal ini ditujukan untuk membuat bermacam-macam efek khusus ketika proses rendering dan operasi ini yang menentukan shader aktif berdasarkan idnya. Operasi ini dibagi menjadi tiga proses yaitu memanggil fungsi ForcedFlushAll untuk membersihkan buffer verteks, lalu memanggil fungsi STIKOM SURABAYA obyek device SetVertexDeclaration untuk menentukan ukuran dan format verteks yang akan diproses oleh shader, dan terakhir memanggil fungsi obyek device SetVertexShader yaitu untuk mengaktifkan verteks shader berdasarkan obyek verteks shader yang diinginkan. Untuk lebih jelasnya flowchart dari operasi ini dapat dilihat pada gambar 3.47. Mulai Cek variabel global apakah Shader dapat tidak dapat digunakan? Return TUMOZ_NOSHADER SUPPORT Ya Selesai Cek apakah ID Vertex Shader = jumlah Vertex Shader yang ada? Tidak Return TUMOZ_INVALIDID Ya Panggil ForcedFlushAll dari pointer Vertex Manager global Tidak Cek apakah Vertex ID dari param valid? Tidak Cek apakah pemanggilan SetVertexDeclaration dari pointer D3D Device gagal? Ya Return TUMOZ_FAIL Ya Cek pemanggilan SetVertexShader dari pointer D3D Device dgn pointer Vertex Shader indeks ID dr param gagal? Tidak Ya Set variabel Vertex Shader aktif global == ID dari param Tidak Set satus variabel sedang digunakan global == true Return TUMOZ_OK Gambar 3.47. Flowchart Operasi ActivateVShader STIKOM SURABAYA

3.5.19. Flowchart Operasi Render