Bagikan melalui


fungsi glColorSubTableEXT

Fungsi glColorSubTableEXT menentukan sebagian palet tekstur yang ditargetkan untuk diganti.

Sintaks

void WINAPI glColorSubTableEXT(
         GLenum  target,
         GLsizei start,
         GLsizei count,
         GLenum  format,
         GLenum  type,
   const GLvoid  *data
);

Parameter

target

Tekstur palet target yang diubah paletnya. Harus TEXTURE_1D atau TEXTURE_2D.

start

Entri indeks palet awal palet yang akan diubah.

hitung

Jumlah entri indeks palet palet yang akan diubah mulai dari awal. Parameter hitungan menentukan rentang entri indeks palet yang diubah.

format

Format data piksel. Konstanta simbolis berikut diterima.

Nilai Makna
GL_RGBA
Setiap piksel adalah sekelompok empat komponen dalam urutan berikut: merah, hijau, biru, alfa. Format RGBA ditentukan dengan cara ini:
  1. Fungsi glColorSubTableEXT mengonversi nilai floating-point langsung ke format internal dengan presisi yang tidak ditentukan. Nilai bilangan bulat yang ditandatangani dipetakan secara linear ke format internal sehingga nilai bilangan bulat yang paling positif dapat direpresentasikan memetakan ke 1,0, dan peta nilai yang paling negatif yang dapat diwakili ke -1,0. Data bilangan bulat yang tidak ditandatangani dipetakan juga: peta nilai bilangan bulat terbesar ke 1,0, dan peta nol ke 0,0.
  2. Fungsi glColorSubTableEXT mengalikan nilai warna yang dihasilkan dengan GL_c_SCALE dan menambahkannya ke GL_c_BIAS, di mana c adalah RED, GREEN, BLUE, dan ALPHA untuk komponen warna masing-masing. Hasilnya dijepit ke rentang [0,1].
  3. Jika GL_MAP_COLOR TRUE, glColorSubTableEXT menskalakan setiap komponen warna berdasarkan ukuran tabel pencarian GL_PIXEL_MAP_c_TO_c, lalu mengganti komponen dengan nilai yang dirujuknya dalam tabel tersebut; c adalah R, G, B, atau A, masing-masing.
  4. Fungsi glColorSubTableEXT mengonversi warna RGBA yang dihasilkan menjadi fragmen dengan melampirkan koordinat z-coordinate dan tekstur posisi raster saat ini ke setiap piksel, lalu menetapkan koordinat jendela x dan y ke fragmen nth sedinix? = xr + nlebar mod
    y? = yr +n / lebar
    di mana (xr , yr ) adalah posisi raster saat ini.
  5. Fragmen piksel ini kemudian diperlakukan seperti fragmen yang dihasilkan oleh titik rasterisasi, garis, atau poligon. Fungsi glColorSubTableEXT menerapkan pemetaan tekstur, kabut, dan semua operasi fragmen sebelum menulis fragmen ke framebuffer.
GL_RED
Setiap piksel adalah komponen merah tunggal.
Fungsi glColorSubTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen merah piksel RGBA, lalu mengonversinya menjadi piksel RGBA dengan hijau dan biru diatur ke 0,0, dan alfa diatur ke 1,0. Setelah konversi ini, piksel diperlakukan seolah-olah telah dibaca sebagai piksel RGBA.
GL_GREEN
Setiap piksel adalah komponen hijau tunggal.
Fungsi glColorSubTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen hijau piksel RGBA, lalu mengonversinya menjadi piksel RGBA dengan merah dan biru diatur ke 0,0, dan alfa diatur ke 1,0. Setelah konversi ini, piksel diperlakukan seolah-olah telah dibaca sebagai piksel RGBA.
GL_BLUE
Setiap piksel adalah komponen biru tunggal.
Fungsi glColorSubTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen biru piksel RGBA, lalu mengonversinya menjadi piksel RGBA dengan merah dan hijau diatur ke 0,0, dan alfa diatur ke 1,0. Setelah konversi ini, piksel diperlakukan seolah-olah telah dibaca sebagai piksel RGBA.
GL_ALPHA
Setiap piksel adalah komponen alfa tunggal.
Fungsi glColorSubTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen alfa piksel RGBA, lalu mengonversinya menjadi piksel RGBA dengan merah, hijau, dan biru diatur ke 0,0. Setelah konversi ini, piksel diperlakukan seolah-olah telah dibaca sebagai piksel RGBA.
GL_RGB
Setiap piksel adalah sekelompok tiga komponen dalam urutan ini: merah, hijau, biru.
Fungsi glColorSubTableEXT mengonversi setiap komponen ke format internal dengan cara yang sama seperti komponen merah, hijau, dan biru dari piksel RGBA. Tiga warna dikonversi menjadi piksel RGBA dengan alfa diatur ke 1.0. Setelah konversi ini, piksel diperlakukan seolah-olah telah dibaca sebagai piksel RGBA.
GL_BGR_EXT
Setiap piksel adalah sekelompok tiga komponen dalam urutan ini: biru, hijau, merah.
GL_BGR_EXT menyediakan format yang cocok dengan tata letak memori bitmap independen perangkat Windows (DIB). Dengan demikian aplikasi Anda dapat menggunakan data yang sama dengan panggilan fungsi Windows dan panggilan fungsi piksel OpenGL.
GL_BGRA_EXT
Setiap piksel adalah sekelompok empat komponen dalam urutan ini: biru, hijau, merah, alfa.
GL_BGRA_EXT menyediakan format yang cocok dengan tata letak memori bitmap independen perangkat Windows (DIB). Dengan demikian aplikasi Anda dapat menggunakan data yang sama dengan panggilan fungsi Windows dan panggilan fungsi piksel OpenGL.

jenis

Jenis data untuk data. Konstanta simbolis berikut diterima: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, dan GL_FLOAT.

Tabel berikut ini meringkas arti konstanta yang valid untuk parameter jenis .

Nilai Makna
GL_UNSIGNED_BYTE
Integer 8-bit yang tidak ditandai
GL_BYTE
Integer 8-bit yang ditandai
GL_UNSIGNED_SHORT
Integer 16-bit yang tidak ditandai
GL_SHORT
Integer 16-bit yang ditandai
GL_UNSIGNED_INT
Integer 32-bit yang tidak ditandai
GL_INT
bilangan bulat 32-bit
GL_FLOAT
Nilai floating-point presisi tunggal

data

Penunjuk ke data tekstur palet. Data diperlakukan sebagai piksel tunggal dari entri palet tekstur 1-D untuk entri palet.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_VALUE
awal atau hitungan adalah bilangan bulat yang tidak valid.
GL_INVALID_ENUM
target, format, atau jenis bukan nilai yang diterima.
GL_INVALID_VALUE
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Fungsi glColorSubTableEXT menentukan bagian dari palet tekstur yang ditargetkan saat ini untuk diganti. Tidak seperti glColorTableEXT, Anda tidak dapat menentukan parameter target untuk menjadi palet tekstur proksi.

Catatan

Fungsi glColorSubTableEXT adalah fungsi ekstensi yang bukan bagian dari pustaka OpenGL standar tetapi merupakan bagian dari ekstensi GL_EXT_paletted_texture. Untuk memeriksa apakah implementasi OpenGL Anda mendukung glColorSubTableEXT, panggil glGetString(GL_EXTENSIONS). Jika mengembalikan GL_EXT_paletted_texture, glColorSubTableEXT didukung. Untuk mendapatkan alamat fungsi fungsi ekstensi, panggil wglGetProcAddress.

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

Lihat juga

glBegin

glColorTableEXT

glEnd

glGetColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

glGetString

wglGetProcAddress