pfd.iLayerType=PFD_MAIN_PLANE; iFormat=ChoosePixelFormat(*hDC,&pfd); SetPixelFormat(*hDC,iFormat,&pfd); /*createandenabletherendercontext(RC)*/ *hRC=wglCreateContext(*hDC); wglMakeCurrent(*hDC,*hRC); } /****************** *DisableOpenGL ******************/ voidDisableOpenGL(HWNDhWnd,HDChDC,HGLRChRC) { wglMakeCurrent(NULL,NULL); wglDeleteContext(hRC); ReleaseDC(hWnd,hDC); }
Jika program dijalankan maka kotak akan bergerak secara diagonal dari pojok kiri bawah ke arah pojok kanan atas dengan warna ungu, setelah sampai di pojok kanan atas maka akan berbalik arah menuju pojok kiri bawah lagi dengan warna hijau, begitu seterusnya bolak-balik. Akan tetapi jika kursor menunjuk taskbar dan tombol mouse ditekan maka gerak obyek akan berhenti dan jika tombol dilepas lagi maka obyek tersebut gergerak lagi. Selain argumen-argumen glTranslatef() yang dimodifikasi, argumen glColor3f() juga dibuat variabel sehingga bisa dimainkan warnanya menjadi dinamis tidak monoton. Penambahan variabel pada perintah glColor3f() argumen pertama r, kedua g, ketiga b, sehingga formatnya menjadi glColor3f(r, g, b). Modifikasi yang lain yaitu menambah variabel count untuk menghitung banyaknya gerak. Hal ini perlu ditambahkan karena pengaturan gerak melalui variabel count ini. Contoh ini merupakan dasar pembuatan game yang harus dipelajari untuk bisa dikembangkan dikemudian hari. Bagian yang penting dicermati adalah trik pengaturan geraknya, bagian ini merupakan hal tersulit karena harus menemukan algoritma yang tepat dan efisien.
Next read BAB 12. OPERASI FILE