Bagikan melalui


fungsi gluTessProperty

Fungsi gluTessProperty mengatur properti objek tessellation.

Sintaks

void WINAPI gluTessProperty(
   GLUtesselator *tess,
   GLenum        which,
   GLdouble      value
);

Parameter

Tess

Objek tessellation (dibuat dengan gluNewTess).

Yang

Nilai properti yang akan diatur. Nilai berikut ini valid: GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY, dan GLU_TESS_TOLERANCE.

Nilai Makna
GLU_TESS_WINDING_RULE
Menentukan bagian poligon mana yang ada di interior. Parameter nilai dapat diatur ke salah satu hal berikut: GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, atau GLU_TESS_WINDING_ABS_GEQ_TWO.
Untuk memahami cara kerja aturan berliku, pertama-tama pertimbangkan bahwa input mempartisi bidang ke wilayah. Aturan berliku menentukan wilayah mana yang berada di dalam poligon.
Untuk kontur tunggal C, nomor berliku titik x hanyalah jumlah revolusi yang ditandatangani yang kita buat di sekitar x saat kita melakukan perjalanan sekali di sekitar C (di mana berlawanan arah jaga adalah positif). Ketika ada beberapa kontur, angka berliku individu dijumlahkan. Prosedur ini mengaitkan nilai bilangan bulat yang ditandatangani dengan setiap titik x di bidang. Perhatikan bahwa nomor berliku sama untuk semua titik dalam satu wilayah.
Aturan berliku mengklasifikasikan wilayah sebagai "dalam" jika angka berlikunya termasuk dalam kategori yang dipilih (nilai ganjil, bukan nol, positif, negatif, atau absolut setidaknya dua). Tesselator GLU sebelumnya (sebelum GLU 1.2) menggunakan aturan "ganjil". Aturan "nonzero" (GLU_TESS_WINDING_NONZERO) adalah cara umum lain untuk menentukan interior. Tiga aturan lainnya (GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_ABS_GEQ_TWO) berguna untuk operasi CSG poligon.
GLU_TESS_BOUNDARY_ONLY
Menentukan nilai Boolean (atur nilai ke GL_TRUE atau GL_FALSE). Saat Anda mengatur nilai ke GL_TRUE, satu set kontur tertutup yang memisahkan interior dan eksterior poligon dikembalikan alih-alih tessellation. Kontur eksterior berorientasi berlawanan arah jagat jaga dengan normal; kontur interior berorientasi searah jajar. Panggilan balik GLU_TESS_BEGIN dan GLU_TESS_BEGIN_DATA menggunakan jenis GL_LINE_LOOP untuk setiap kontur.
GLU_TESS_TOLERANCE
Menentukan toleransi untuk menggabungkan fitur untuk mengurangi ukuran output. Misalnya, dua puncak yang sangat dekat satu sama lain mungkin digantikan oleh satu puncak. Toleransi dikalikan dengan besaran koordinat terbesar dari setiap puncak input; ini menentukan jarak maksimum yang dapat dipindahkan fitur apa pun sebagai hasil dari satu operasi penggabungan. Jika satu fitur mengambil bagian dalam beberapa operasi penggabungan, total jarak yang dipindahkan bisa lebih besar.
Penggabungan fitur sepenuhnya opsional; toleransi hanyalah petunjuk. Implementasi ini gratis untuk digabungkan dalam beberapa kasus dan tidak pada kasus lain, atau untuk tidak pernah menggabungkan fitur sama sekali. Toleransi default adalah nol.
Implementasi saat ini menggabungkan puncak hanya jika tepat bertepatan, terlepas dari toleransi saat ini. Puncak disambungkan ke tepi hanya jika implementasi tidak dapat membedakan sisi tepi mana vertex terletak. Dua tepi hanya digabungkan ketika kedua titik akhir identik.

nilai

Nilai properti yang ditunjukkan.

Mengembalikan nilai

Fungsi ini tidak mengembalikan nilai.

Keterangan

Fungsi gluTessProperty mengontrol properti yang disimpan dalam objek tessellation. Properti ini memengaruhi cara poligon ditafsirkan dan dirender.

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

gluGetTessProperty

gluNewTess