1. Kata Pengantar
Gambar grafik Delphi dapat diselesaikan antara glBegin() dan glEnd(). Kode bingkai gambar dapat menggunakan kode inisialisasi gambar OpenGL2d di bawah Delphi /52141.htm . Bagian yang dimodifikasi adalah isi dari fungsi Draw.
2. Menarik poin
Gunakan fungsi glPointSize untuk menentukan diameter titik raster. Standarnya adalah 1.0, yang hanya berfungsi di bawah GL_POINTS. Kita akan mempelajari anti-aliasing dan fungsi lainnya nanti. Gunakan glBegin(GL_POINTS) untuk memberi tahu OpenGL agar menggambar titik. Parameter GL_POINTS mewakili titik, dan ada parameter lain, seperti menggambar garis GL_LINES, dll. Untuk detailnya, lihat kode sumber unit OpenGL. Fungsi glBegin() dan glEnd() dijelaskan sebagai berikut:
Prototipe fungsi:
batalkan glBegin(mode GLenum)
batal glEnd(batal)
Deskripsi parameter:
mode: tipe primitif yang dibuat. Bisa berupa nilai-nilai berikut
GL_POINTS: Proses setiap simpul sebagai sebuah titik. Simpul n mendefinisikan titik n, dan diambil total N titik.
GL_LINES: Perlakukan setiap simpul sebagai ruas garis independen. Sebanyak n ruas garis ditentukan antara simpul 2n-1 dan 2n, dan total N/2 ruas garis tergambar.
GL_LINE_STRIP: Gambarlah himpunan ruas garis yang terhubung secara berurutan dari simpul pertama sampai simpul terakhir. Simpul ke-n dan n+1 menentukan ruas garis n. Sebanyak n-1 ruas garis digambar.
GL_LINE_LOOP: Gambarlah himpunan ruas garis yang terhubung secara berurutan dari simpul pertama ke simpul terakhir, kemudian simpul terakhir dihubungkan ke simpul pertama. Simpul ke-n dan n+1 menentukan ruas garis n, dan berjumlah n garis segmen digambar.
GL_TRIANGLES: Perlakukan setiap simpul sebagai segitiga independen. Simpul 3n-2, 3n-1 dan 3n mendefinisikan segitiga ke-n. Sebanyak N/3 segitiga tergambar.
GL_TRIANGLE_STRIP: Gambarlah himpunan segitiga terhubung. Untuk bilangan ganjil n, simpul n, n+1 dan n+2 tentukan segitiga ke-n; untuk bilangan genap n, simpul n+1, n dan n+2 tentukan Segitiga ke-n. Sebanyak N-2 segitiga tergambar.
GL_TRIANGLE_FAN: Gambarlah himpunan segitiga terhubung. Segitiga ditentukan oleh simpul pertama dan simpul-simpul berikutnya diberikan. Simpul 1, n+1 dan n+2 menentukan segitiga ke-n.
GL_QUADS: Menggambar himpunan segiempat terpisah yang terdiri dari empat titik sudut. Simpul 4n-3, 4n-2, 4n-1 dan 4n menentukan segi empat ke-n. Gambarlah total N/4 segi empat
GL_QUAD_STRIP: Menggambar sekumpulan segi empat yang terhubung. Setiap segi empat didefinisikan oleh sepasang simpul yang diikuti oleh sepasang simpul tertentu. Titik sudut 2n-1, 2n, 2n+2 dan 2n+1 menentukan segiempat ke-n, dan total N/2-1 segi empat digambar.
GL_POLYGON: Gambarlah poligon cembung. Simpul 1 sampai n tentukan poligon ini.
Deskripsi fungsi:
Fungsi glBegin dan glEnd mendefinisikan definisi titik tetap dari satu atau lebih grup primitif.
Kode sumber untuk mengimplementasikan poin gambar adalah sebagai berikut:
procedure TForm1.Draw;begin // Hapus buffer glClear(GL_COLOR_BUFFER_BIT atau GL_DEPTH_BUFFER_BIT); // Tetapkan ukuran titik, tidak boleh antara glBegin dan glEnd glPointSize(10); titik Warna glColor3f(1, 0, 0); Gambar poin glVertex2f(50, 50); glColor3f(0, 1, 0); glVertex2f(100, 50); glColor3f(0, 0, 1); Tukar konten buffer ganda, yang akan menyalin grafik yang baru saja digambar ke layar. akhir;
glColor3f() digunakan untuk menggambar warna titik, glVertex2f digunakan untuk menggambar posisi titik.
Klik di sini untuk mengunduh kode lengkapnya