Bagikan melalui


gluPickMatrix (Fungsi gluPickMatrix)

Fungsi gluPickMatrix mendefinisikan wilayah pemilihan.

Sintaks

void WINAPI gluPickMatrix(
   GLdouble x,
   GLdouble y,
   GLdouble height,
   GLdouble width,
   GLint    viewport[4]
);

Parameter

x

Koordinat jendela x dari wilayah pemilihan.

y

Koordinat jendela y dari wilayah pemilihan.

height

Tinggi wilayah pemilihan dalam koordinat jendela.

width

Lebar wilayah pemilihan dalam koordinat jendela.

Viewport

Viewport saat ini (sebagai dari panggilan glGetIntegerv ).

Menampilkan nilai

Fungsi ini tidak mengembalikan nilai.

Keterangan

Fungsi gluPickMatrix membuat matriks proyeksi yang dapat Anda gunakan untuk membatasi gambar ke wilayah kecil viewport.

  1. Gunakan gluPickMatrix untuk membatasi menggambar ke wilayah kecil di sekitar kursor.

  2. Masukkan mode pilihan (dengan glRenderMode), lalu render adegan.

    Semua primitif yang akan digambar di dekat kursor diidentifikasi dan disimpan dalam buffer pilihan.

Matriks yang dibuat oleh gluPickMatrix dikalikan dengan matriks saat ini seolah-olah glMultMatrix dipanggil dengan matriks yang dihasilkan.

  1. Panggil glLoadIdentity untuk memuat matriks identitas ke tumpukan matriks perspektif.
  2. Panggil gluPickMatrix.
  3. Panggil fungsi (seperti gluPerspective) untuk mengalikan matriks perspektif dengan matriks pilih.

Saat menggunakan gluPickMatrix untuk memilih Non-Uniform Rational B-Spline (NURBS), berhati-hatilah untuk mematikan properti NURBS, GLU_AUTO_LOAD_MATRIX. Jika GLU_AUTO_LOAD_MATRIX tidak dimatikan, permukaan NURBS apa pun yang dirender dibagi menjadi berbeda dengan matriks pick dari cara pembagiannya tanpa matriks pick.

Contoh

Saat merender adegan sebagai berikut:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

kode berikut memilih bagian dari viewport:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPickMatrix(x, y, width, height, viewport);  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Glu.h
Pustaka
Glu32.lib
DLL
Glu32.dll

Lihat juga

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective