Bagikan melalui


fungsi glTexParameterfv

Mengatur parameter tekstur.

Sintaks

void WINAPI glTexParameterfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *params
);

Parameter

target

Tekstur target, yang harus GL_TEXTURE_1D atau GL_TEXTURE_2D.

nama p

Nama simbolis dari parameter tekstur bernilai tunggal. Simbol berikut diterima dalam pname.

Nilai Makna
GL_TEXTURE_MIN_FILTER
Fungsi penambangan tekstur digunakan setiap kali piksel diteksur memetakan ke area yang lebih besar dari satu elemen tekstur. Ada enam fungsi penambangan yang ditentukan. Dua di antaranya menggunakan elemen tekstur terdekat atau empat elemen tekstur terdekat untuk menghitung nilai tekstur. Empat lainnya menggunakan mipmaps.
Mipmap adalah sekumpulan array yang diurutkan yang mewakili gambar yang sama pada resolusi yang semakin rendah. Jika tekstur memiliki dimensi 2nx2m , ada max(n, m) + 1 mipmaps. Mipmap pertama adalah tekstur asli, dengan dimensi 2nx2m. Setiap mipmap berikutnya memiliki dimensi 2k1x2l1 di mana 2kx2l adalah dimensi mipmap sebelumnya, hingga k = 0 atau l = 0. Pada saat itu, mipmap berikutnya memiliki dimensi 1x2l1 atau 2k1x1 hingga mipmap akhir, yang memiliki dimensi 1x1. Mipmaps didefinisikan menggunakan glTexImage1D atau glTexImage2D dengan argumen level-of-detail yang menunjukkan urutan mipmaps. Tingkat 0 adalah tekstur asli; maks tebal tingkat (n, m) adalah 1x1 mipmap akhir.
GL_TEXTURE_MAG_FILTER
Fungsi pembesaran tekstur digunakan saat piksel yang diteksur memetakan ke area yang kurang dari atau sama dengan satu elemen tekstur. Ini mengatur fungsi pembesaran tekstur ke GL_NEAREST atau GL_LINEAR.
GL_TEXTURE_WRAP_S
Mengatur parameter pembungkus untuk koordinat tekstur ke GL_CLAMP atau GL_REPEAT. GL_CLAMP menyebabkan koordinat s dijepit ke rentang [0,1] dan berguna untuk mencegah pembungkusan artefak saat memetakan satu gambar ke objek. GL_REPEAT menyebabkan bagian bilangan bulat koordinat s diabaikan; OpenGL hanya menggunakan bagian pecahan, sehingga menciptakan pola berulang. Elemen tekstur batas diakses hanya jika pembungkusan diatur ke GL_CLAMP. Awalnya, GL_TEXTURE_WRAP_S diatur ke GL_REPEAT.
GL_TEXTURE_WRAP_T
Mengatur parameter pembungkus untuk koordinat tekstur t ke GL_CLAMP atau GL_REPEAT. Lihat diskusi di bawah GL_TEXTURE_WRAP_S. Awalnya, GL_TEXTURE_WRAP_T diatur ke GL_REPEAT.
GL_TEXTURE_BORDER_COLOR
Mengatur warna batas. Parameter param berisi empat nilai yang terdiri dari warna RGBA dari batas tekstur. Komponen warna bilangan bulat ditafsirkan secara linier sehingga bilangan bulat paling positif memetakan ke 1,0, dan peta bilangan bulat paling negatif ke 1,0. Nilai dijepit ke rentang [0,1] saat ditentukan. Awalnya, warna batas adalah (0, 0, 0, 0).
GL_TEXTURE_PRIORITY
Menentukan prioritas tempat tinggal tekstur dari tekstur yang saat ini terikat. Nilai yang diizinkan berada dalam rentang [0, 1]. Lihat glPrioritizeTextures dan glBindTexture untuk informasi selengkapnya.

params

Penunjuk ke array tempat nilai atau nilai pname disimpan. Parameter params memasok fungsi untuk menambang tekstur sebagai salah satu dari berikut ini.

Nilai Makna
GL_NEAREST
Mengembalikan nilai elemen tekstur yang terdekat (dalam jarak Manhattan) ke tengah piksel yang diteksur.
GL_LINEAR
Mengembalikan rata-rata tertimbang dari empat elemen tekstur yang paling dekat dengan bagian tengah piksel yang diteksur. Ini dapat mencakup elemen tekstur batas, tergantung pada nilai GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, dan pada pemetaan yang tepat. GL_NEAREST umumnya lebih cepat daripada GL_LINEAR, tetapi dapat menghasilkan gambar bertekstur dengan tepi yang lebih tajam karena transisi antara elemen tekstur tidak semulus. Nilai default GL_TEXTURE_MAG_FILTER adalah GL_LINEAR.
GL_NEAREST_MIPMAP_NEAREST
Memilih mipmap yang paling cocok dengan ukuran piksel yang diteksur dan menggunakan kriteria GL_NEAREST (elemen tekstur terdekat dengan pusat piksel) untuk menghasilkan nilai tekstur.
GL_LINEAR_MIPMAP_NEAREST
Memilih mipmap yang paling cocok dengan ukuran piksel yang diteksur dan menggunakan kriteria GL_LINEAR (rata-rata tertimbang dari empat elemen tekstur yang paling dekat dengan pusat piksel) untuk menghasilkan nilai tekstur.
GL_NEAREST_MIPMAP_LINEAR
Memilih dua mipmap yang paling cocok dengan ukuran piksel yang diteksur dan menggunakan kriteria GL_NEAREST (elemen tekstur terdekat dengan pusat piksel) untuk menghasilkan nilai tekstur dari setiap mipmap. Nilai tekstur akhir adalah rata-rata tertimbang dari dua nilai tersebut.
GL_LINEAR_MIPMAP_LINEAR
Memilih dua mipmap yang paling cocok dengan ukuran piksel yang diteksur dan menggunakan kriteria GL_LINEAR (rata-rata tertimbang dari empat elemen tekstur yang paling dekat dengan pusat piksel) untuk menghasilkan nilai tekstur dari setiap mipmap. Nilai tekstur akhir adalah rata-rata tertimbang dari dua nilai tersebut.

Parameter params memasok fungsi untuk memperbesar tekstur sebagai salah satu dari berikut ini.

Nilai Makna
GL_NEAREST
Mengembalikan nilai elemen tekstur yang terdekat (dalam jarak Manhattan) ke tengah piksel yang diteksur.
GL_LINEAR
Mengembalikan rata-rata tertimbang dari empat elemen tekstur yang paling dekat dengan bagian tengah piksel yang diteksur. Ini dapat mencakup elemen tekstur batas, tergantung pada nilai GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, dan pada pemetaan yang tepat. GL_NEAREST umumnya lebih cepat daripada GL_LINEAR, tetapi dapat menghasilkan gambar bertekstur dengan tepi yang lebih tajam karena transisi antara elemen tekstur tidak semulus. Nilai default GL_TEXTURE_MAG_FILTER adalah GL_LINEAR.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
target atau pname bukan salah satu nilai yang ditentukan yang diterima, atau ketika param harus memiliki nilai konstanta yang ditentukan (berdasarkan nilai pname) dan tidak.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Pemetaan tekstur adalah teknik yang menerapkan gambar ke permukaan objek seolah-olah gambarnya adalah shrink-wrap decal atau cellophane. Gambar dibuat dalam ruang tekstur, dengan sistem koordinat (s, t). Tekstur adalah gambar satu atau dua dimensi dan sekumpulan parameter yang menentukan bagaimana sampel berasal dari gambar.

Fungsi glTexParameter menetapkan nilai atau nilai dalam param ke parameter tekstur yang ditentukan sebagai pname. Parameter target menentukan tekstur target, baik GL_TEXTURE_1D atau GL_TEXTURE_2D.

Karena lebih banyak elemen tekstur diambil sampelnya dalam proses minifikasi, lebih sedikit artefak alias akan terlihat. Meskipun fungsi GL_NEAREST dan GL_LINEAR minifikasi dapat lebih cepat daripada empat lainnya, fungsi ini hanya mengambil sampel satu atau empat elemen tekstur untuk menentukan nilai tekstur piksel yang dirender dan dapat menghasilkan pola ngengat atau transisi yang kasar. Nilai default GL_TEXTURE_MIN_FILTER adalah GL_NEAREST_MIPMAP_LINEAR.

Misalkan tekstur diaktifkan (dengan memanggil glEnable dengan argumen GL_TEXTURE_1D atau GL_TEXTURE_2D) dan GL_TEXTURE_MIN_FILTER diatur ke salah satu fungsi yang memerlukan mipmap. Jika dimensi gambar tekstur yang saat ini ditentukan (dengan panggilan sebelumnya ke glTexImage1D atau glTexImage2D) tidak mengikuti urutan yang tepat untuk mipmaps, atau ada lebih sedikit gambar tekstur yang ditentukan daripada yang diperlukan, atau kumpulan gambar tekstur memiliki jumlah komponen tekstur yang berbeda, maka seolah-olah pemetaan tekstur dinonaktifkan. Pemfilteran linier mengakses empat elemen tekstur terdekat hanya dalam tekstur 2-D. Dalam tekstur 1-D, pemfilteran linier mengakses dua elemen tekstur terdekat. Fungsi berikut mengambil informasi yang terkait dengan glTexParameterf, glTexParameteri, glTexParameterfv, dan glTexParameteriv:

glGetTexParameter

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

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D