Bagikan melalui


fungsi glGetColorTableEXT

Fungsi glGetColorTableEXT mendapatkan data tabel warna dari palet tekstur yang ditargetkan saat ini.

Sintaks

void WINAPI glGetColorTableEXT(
         GLenum target,
         GLenum format,
         GLenum type,
   const GLvoid *data
);

Parameter

target

Tekstur target yang akan mengubah paletnya. Harus TEXTURE_1D atau TEXTURE_2D.

format

Format data piksel. Konstanta simbolik 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 glGetColorTableEXT 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 diwakili memetakan ke 1,0, dan peta nilai bilangan bulat yang paling negatif yang dapat diwakili ke -1,0. Data bilangan bulat yang tidak ditandatangani dipetakan juga: nilai bilangan bulat terbesar dipetakan ke 1,0, dan nol peta ke 0,0.
  2. Fungsi glGetColorTableEXT 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, glGetColorTableEXT menskalakan setiap komponen warna dengan 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 glGetColorTableEXT mengonversi warna RGBA yang dihasilkan menjadi fragmen dengan melampirkan koordinat z-koordinat posisi raster dan tekstur saat ini ke setiap piksel, lalu menetapkan koordinat jendela x dan y ke fragmen ke-n, seperti x? = 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 glGetColorTableEXT menerapkan pemetaan tekstur, kabut, dan semua operasi fragmen sebelum menulis fragmen ke framebuffer.
GL_RED
Setiap piksel adalah komponen merah tunggal.
Fungsi glGetColorTableEXT 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 glGetColorTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen hijau piksel RGBA, dan kemudian mengonversinya menjadi piksel RGBA dengan set merah dan biru 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 glGetColorTableEXT mengonversi komponen ini ke format internal dengan cara yang sama seperti komponen biru piksel RGBA, dan kemudian 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 glGetColorTableEXT 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 glGetColorTableEXT 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 (DIB) independen perangkat Microsoft Windows. 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 (DIB) independen perangkat Windows. Dengan demikian aplikasi Anda dapat menggunakan data yang sama dengan panggilan fungsi Windows dan panggilan fungsi piksel OpenGL.

jenis

Jenis data untuk data. Berikut ini adalah konstanta simbolis yang diterima dan maknanya.

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

Menunjuk ke lokasi tempat informasi tabel warna yang dikembalikan akan disimpan. Setiap entri tabel warna disimpan seolah-olah itu adalah satu piksel dari tekstur 1-D. Karena semua tekstur memiliki palet default, glGetColorTableEXT selalu mengembalikan informasi palet meskipun data tekstur tidak dalam format palet.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
target, format, atau jenis bukan nilai yang diterima.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Fungsi glGetColorTableEXT mendapatkan data tabel warna aktual yang ditentukan oleh glColorTableEXT dan glColorSubTableEXT.

Fungsi glGetColorTableEXT 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 glGetColorTableEXT, panggil glGetString(GL_EXTENSIONS). Jika mengembalikan GL_EXT_paletted_texture, glGetColorTableEXT 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

glColorSubTableEXT

glColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

wglGetProcAddress