Baca dalam bahasa Inggris

Bagikan melalui


fungsi glFrustum

Fungsi glFrustum mengalikan matriks saat ini dengan matriks perspektif.

Sintaks

void WINAPI glFrustum(
   GLdouble left,
   GLdouble right,
   GLdouble bottom,
   GLdouble top,
   GLdouble zNear,
   GLdouble zFar
);

Parameter

left

Koordinat untuk bidang kliping vertikal kiri.

right

Koordinat untuk bidang kliping vertikal kanan.

Bawah

Koordinat untuk bidang kliping horizontal bawah.

teratas

Koordinat untuk bidang kliping horizontal bawah.

zNear

Jarak ke bidang kliping yang mendekati. Harus positif.

zFar

Jarak ke bidang kliping yang jauh. Harus positif.

Menampilkan nilai

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
zNear atau zFar tidak postitif.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Fungsi glFrustum menggambarkan matriks perspektif yang menghasilkan proyeksi perspektif. Parameter (kiri, bawah, zNear) dan (kanan, atas, zNear) menentukan titik pada bidang kliping dekat yang dipetakan ke sudut kiri bawah dan kanan atas jendela, masing-masing, dengan asumsi bahwa mata terletak di (0,0,0). Parameter zFar menentukan lokasi bidang kliping jauh. ZNear dan zFar harus positif. Matriks yang sesuai diperlihatkan dalam gambar berikut.

Diagram memperlihatkan matriks perspektif yang menghasilkan proyeksi perspektif. Persamaan memperlihatkan fungsi glFrustum yang menggambarkan matriks perspektif.

Fungsi glFrustum mengalikan matriks saat ini dengan matriks ini, dengan hasil menggantikan matriks saat ini. Artinya, jika M adalah matriks saat ini dan F adalah matriks perspektif frustum, maka glFrustum menggantikan M dengan M F.

Gunakan glPushMatrix dan glPopMatrix untuk menyimpan dan memulihkan tumpukan matriks saat ini.

Presisi buffer kedalaman dipengaruhi oleh nilai yang ditentukan untuk zNear dan zFar. Semakin besar rasio zFar terhadap zNear , semakin kurang efektif buffer kedalaman akan membedakan antara permukaan yang berdekatan. Jika

Persamaan menunjukkan rasio jauh ke dekat.

kira-kira mencatat2 (r) bit presisi buffer kedalaman hilang. Karena r mendekati tak terbatas saat zNear mendekati nol, Anda tidak boleh mengatur zNear ke nol.

Fungsi berikut mengambil informasi tentang glFrustum:

glGet dengan argumen GL_MATRIX_MODE

glGet dengan argumen GL_MODELVIEW_MATRIX

glGet dengan argumen GL_PROJECTION_MATRIX

glGet dengan argumen GL_TEXTURE_MATRIX

Persyaratan

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

Lihat juga

glBegin

glEnd

glGet

glMatrixMode

glMultMatrix

glOrtho

glPopMatrix

glPushMatrix

glViewport