Contoh Program Polygon Visual Studio c++ 6

              Contoh ini akan menarik kotak hijau pada layar. OpenGL memiliki beberapa cara untuk menyelesaikan tugas ini, tapi ini adalah yang paling mudah untuk memahami. Namun, pembaca harus menyadari bahwa sebagian besar API yang digunakan dalam kode di bawah ini telah usang dalam dan setelah spesifikasi OpenGL 3.0. Bagian ini mungkin memerlukan pembersihan untuk memenuhi standar kualitas Wikipedia. (Pertimbangkan untuk menggunakan instruksi pembersihan yang lebih spesifik.) Harap membantu meningkatkan bagian ini jika Anda bisa. Halaman pembicaraan mungkin berisi saran.

               
glClear (GL_COLOR_BUFFER_BIT);


    
Pernyataan ini membersihkan buffer warna, sehingga layar akan mulai kosong. Dibutuhkan sebuah argumen yang mendefinisikan yang buffer untuk jelas, dalam hal ini adalah buffer warna.

     
glMatrixMode (GL_PROJECTION); / * Perintah selanjutnya akan mempengaruhi matriks matriks proyeksi * / 

     glLoadIdentity (); / * Menginisialisasinya matriks proyeksi untuk identitas * /      glFrustum (-1, 1, -1, 1, 1, 1000); / * Terapkan matriks proyeksi perspektif-* /

    
Pernyataan-pernyataan ini menginisialisasi matriks proyeksi, menetapkan matriks frustum 3d yang mewakili daerah dapat dilihat (frustum melihat). Matriks ini mengubah objek dari kamera-relatif ruang ke ruang proyeksi OpenGL itu.

      
glMatrixMode (GL_MODELVIEW); / * Perintah selanjutnya akan mempengaruhi matriks matriks MODELVIEW * /
       glLoadIdentity (); / * Menginisialisasinya MODELVIEW untuk identitas * /
       glTranslatef (0, 0, -3); / * Terjemahkan 3 unit MODELVIEW sepanjang sumbu Z * /

    
Pernyataan-pernyataan ini menginisialisasi matriks MODELVIEW. Matriks ini mendefinisikan sebuah transformasi dari model-relatif koordinat untuk ruang kamera. Kombinasi dari matriks MODELVIEW dan matriks proyeksi mengubah objek dari model-relatif ruang ke ruang proyeksi layar.

        
glBegin (GL_POLYGON); / * Mulailah mengeluarkan * poligon /
        glColor3f (0, 1, 0); / * Mengatur warna hijau saat ini untuk * /

        glVertex3f (-1, -1, 0); / * Isu simpul * /

       glVertex3f (-1, 1, 0); / * Isu simpul * /
      
glVertex3f (1, 1, 0); / * Isu simpul * /
       glVertex3f (1, -1, 0); / * Isu simpul * /

       glEnd (); / * Selesai menerbitkan * poligon /

    
Perintah-perintah ini menggambar persegi berwarna hijau di bidang XY. Ini menggunakan modus langsung. Alun-alun juga bisa diberikan dengan menggunakan array dan memanggil glDrawArrays ().