Baca dalam bahasa Inggris

Bagikan melalui


fungsi glTexEnvfv

Fungsi glTexEnvfv menetapkan parameter lingkungan tekstur.

Sintaks

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

Parameter

target

Lingkungan tekstur. Pasti GL_TEXTURE_ENV.

pname

Nama simbolis parameter lingkungan tekstur bernilai tunggal. Nilai yang diterima GL_TEXTURE_ENV_MODE dan GL_TEXTURE_ENV_COLOR.

params

Penunjuk ke array parameter: baik konstanta simbolis tunggal atau warna RGBA.

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

Lingkungan tekstur menentukan bagaimana nilai tekstur ditafsirkan saat fragmen diteksur. Parameter target harus GL_TEXTURE_ENV. Parameter pname dapat berupa GL_TEXTURE_ENV_MODE atau GL_TEXTURE_ENV_COLOR.

Jika pname GL_TEXTURE_ENV_MODE, maka param adalah (atau menunjuk ke) nama simbolis fungsi tekstur. Tiga fungsi tekstur didefinisikan: GL_MODULATE, GL_DECAL, dan GL_BLEND.

Fungsi tekstur bertindak pada fragmen yang akan diteksur menggunakan nilai gambar tekstur yang berlaku untuk fragmen (lihat glTexParameter) dan menghasilkan warna RGBA untuk fragmen tersebut. Tabel berikut menunjukkan bagaimana warna RGBA diproduksi untuk masing-masing dari tiga fungsi tekstur yang dapat dipilih. C adalah tiga nilai warna (RGB) dan A adalah nilai alfa terkait. Nilai RGBA yang diekstrak dari gambar tekstur berada dalam rentang [0, 1]. Subskrip f mengacu pada fragmen masuk, subskrip t ke gambar tekstur, subskrip c ke warna lingkungan tekstur, dan subskrip v menunjukkan nilai yang dihasilkan oleh fungsi tekstur.

Gambar tekstur dapat memiliki hingga empat komponen per elemen tekstur (lihat glTexImage1D dan glTexImage2D). Dalam gambar satu komponen, Lt menunjukkan bahwa komponen tunggal. Gambar dua komponen menggunakan L? dan A? . Gambar tiga komponen hanya memiliki nilai warna, C? . Gambar empat komponen memiliki nilai warna C? dan nilai alfa A? .

Jumlah komponen GL_MODULATE GL_DECAL GL_BLEND
1${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?Cf + L?Cc
A v = A f A v = A f
2${REMOVE}$
Cv = L?Cf undefined${REMOVE}$
Cv = (1 - L?Cf + L?Cc
Av = Af A v = A f
3${REMOVE}$
Cv = C?Cf Cv = C? undefined${REMOVE}$
A v = A f A v = A f
4${REMOVE}$
Cv = C?Cf Cv = (1 - A?)Cf + A?C? undefined${REMOVE}$
A v = J?A f A v = A f

Jika pname GL_TEXTURE_ENV_COLOR, param adalah penunjuk ke array yang menyimpan warna RGBA yang terdiri dari empat nilai. Komponen warna bilangan bulat ditafsirkan secara linier sehingga peta bilangan bulat paling positif ke 1,0, dan peta bilangan bulat paling negatif ke -1,0. Nilai dijepit ke rentang [0, 1] ketika ditentukan. Cc mengambil empat nilai ini.

GL_TEXTURE_ENV_MODE default ke GL_MODULATE dan GL_TEXTURE_ENV_COLOR default ke (0, 0, 0, 0).

Fungsi berikut mengambil informasi yang terkait dengan glTexEnvfv:

glTexGetEnvfv

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

glTexImage1D

glTexImage2D

glTexParameter