Bagikan melalui


Rasterisasi

Rasterisasi adalah proses mengonversi primitif menjadi gambar dua dimensi. Setiap titik gambar ini berisi informasi seperti data warna, kedalaman, dan tekstur. Titik dan informasi terkaitnya disebut fragmen . Posisi raster saat ini, seperti yang ditentukan dengan glRasterPos*, digunakan dengan berbagai cara selama tahap ini untuk menggambar piksel dan bitmap. Masalah yang berbeda timbul ketika meraster titik, segmen garis, dan poligon. Selain itu, persegi panjang piksel dan bitmap perlu dirasterisasi.

Dengan OpenGL Anda mengontrol rasterisasi dengan menggunakan fungsi berikut:

  • Primitif. Kendalikan bagaimana primitif dirasterisasi menggunakan fungsi yang menentukan dimensi dan pola stipple: glPointSize, glLineWidth, glLineStipple, dan glPolygonStipple. Kontrol bagaimana wajah depan dan belakang poligon dirasterisasi dengan glCullFace, glFrontFace, dan glPolygonMode.
  • Piksel. Beberapa fungsi mengontrol penyimpanan piksel dan mode transfer. Fungsi glPixelStore* mengontrol pengodean piksel dalam memori klien, dan glPixelTransfer* dan glPixelMap* mengontrol bagaimana piksel diproses sebelum ditempatkan di framebuffer. Tentukan persegi panjang piksel denganglDrawPixels; mengontrol rasterisasinya denganglPixelZoom.
  • Bitmap. Bitmap adalah persegi panjang nol dan yang menentukan pola fragmen tertentu yang akan diproduksi. Masing-masing fragmen ini memiliki data terkait yang sama. FungsiglBitmapmenentukan bitmap.
  • Memori Tekstur. Saat tekstur diaktifkan, tekstur memetakan sebagian dari gambar tekstur tertentu ke setiap primitif. Pemetaan ini dicapai dengan menggunakan warna gambar tekstur di lokasi yang ditunjukkan oleh koordinat tekstur fragmen untuk memodifikasi warna RGBA fragmen. Tentukan gambar tekstur denganglTexImage2D atau glTexImage1D. Fungsi glTexParameter* dan glTexEnv* mengontrol bagaimana nilai tekstur ditafsirkan dan diterapkan ke fragmen.
  • Kabut. Untuk memadukan warna kabut dengan warna fragmen setelah proses penteksturan, gunakan faktor pencampuran yang tergantung pada jarak antara titik pandang dan fragmen. Gunakan glFog* untuk menentukan warna kabut dan faktor campuran.