fungsi glPixelMapusv

Fungsi glPixelMapusv menyiapkan peta transfer piksel.

Sintaks

void WINAPI glPixelMapusv(
         GLenum   map,
         GLsizei  mapsize,
   const GLushort *values
);

Parameter

Peta

Nama peta simbolis. Sepuluh peta tersebut adalah sebagai berikut.

Nilai Makna
GL_PIXEL_MAP_I_TO_I
Memetakan indeks warna ke indeks warna.
GL_PIXEL_MAP_S_TO_S
Memetakan indeks stensil ke indeks stensil.
GL_PIXEL_MAP_I_TO_R
Memetakan indeks warna ke komponen merah.
GL_PIXEL_MAP_I_TO_G
Memetakan indeks warna ke komponen hijau.
GL_PIXEL_MAP_I_TO_B
Memetakan indeks warna ke komponen biru.
GL_PIXEL_MAP_I_TO_A
Memetakan indeks warna ke komponen alfa.
GL_PIXEL_MAP_R_TO_R
Memetakan komponen merah ke komponen merah.
GL_PIXEL_MAP_G_TO_G
Memetakan komponen hijau ke komponen hijau.
GL_PIXEL_MAP_B_TO_B
Memetakan komponen biru ke komponen biru.
GL_PIXEL_MAP_A_TO_A
Memetakan komponen alfa ke komponen alfa.

ukuran peta

Ukuran peta yang ditentukan.

Nilai

Array nilai mapsize .

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
peta bukan nilai yang diterima.
GL_INVALID_VALUE
ukuran peta negatif atau lebih besar dari GL_PIXEL_MAP_TABLE.
GL_INVALID_VALUE
peta GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, atau GL_PIXEL_MAP_I_TO_A, dan pemetaan bukanlah kekuatan dua.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Fungsi glPixelMap menyiapkan tabel terjemahan, atau peta, yang digunakan oleh glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexSubImage1D, dan glTexSubImage2D. Penggunaan peta ini dijelaskan sepenuhnya dalam topik glPixelTransfer , dan sebagian dalam topik untuk perintah piksel dan gambar tekstur. Hanya spesifikasi peta yang dijelaskan dalam topik ini.

Parameter peta adalah nama peta simbolis, menunjukkan salah satu dari sepuluh peta yang akan diatur. Parameter mapsize menentukan jumlah entri dalam peta, dan nilai adalah penunjuk ke array nilai peta mapsize .

Entri dalam peta dapat ditentukan sebagai angka floating-point presisi tunggal, bilangan bulat pendek yang tidak ditandatangani, atau bilangan bulat panjang yang tidak ditandatangani. Peta yang menyimpan nilai komponen warna (semua kecuali GL_PIXEL_MAP_I_TO_I dan GL_PIXEL_MAP_S_TO_S) mempertahankan nilainya dalam format floating-point, dengan ukuran mantissa dan eksponen yang tidak ditentukan. Nilai floating-point yang ditentukan oleh glPixelMapfv dikonversi langsung ke format floating-point internal peta ini, lalu dijepit ke rentang [0,1]. Nilai bilangan bulat yang tidak ditandatangani yang ditentukan oleh glPixelMapusv dan glPixelMapuiv dikonversi secara linier sehingga peta bilangan bulat terbesar yang dapat diwakili menjadi 1,0, dan peta nol ke 0,0.

Peta yang menyimpan indeks, GL_PIXEL_MAP_I_TO_I dan GL_PIXEL_MAP_S_TO_S, mempertahankan nilainya dalam format titik tetap, dengan jumlah bit yang tidak ditentukan di sebelah kanan titik biner. Nilai floating-point yang ditentukan oleh glPixelMapfv dikonversi langsung ke format titik tetap internal peta ini. Nilai bilangan bulat yang tidak ditandatangani yang ditentukan oleh glPixelMapusv dan glPixelMapuiv menentukan nilai bilangan bulat, dengan semua nol di sebelah kanan titik biner.

Tabel berikut ini memperlihatkan ukuran dan nilai awal untuk setiap peta. Peta yang diindeks oleh indeks warna atau stensil harus memiliki ukuran peta = 2 ^ n untuk beberapa n atau hasil tidak terdefinisi. Ukuran maksimum yang diizinkan untuk setiap peta tergantung pada implementasi dan dapat ditentukan dengan memanggil glGet dengan argumen GL_MAX_PIXEL_MAP_TABLE. Maksimum tunggal berlaku untuk semua peta, dan setidaknya 32.

Peta Indeks Pencarian Nilai Pencarian Ukuran Awal Nilai Awal
GL_PIXEL_MAP_I_TO_I indeks warna indeks warna 1 0.0
GL_PIXEL_MAP_S_TO_S indeks stensil indeks stensil 1 0.0
GL_PIXEL_MAP_I_TO_R indeks warna R 1 0.0
GL_PIXEL_MAP_I_TO_G indeks warna G 1 0.0
GL_PIXEL_MAP_I_TO_B indeks warna B 1 0.0
GL_PIXEL_MAP_I_TO_A indeks warna A 1 0.0
GL_PIXEL_MAP_R_TO_R R R 1 0.0
GL_PIXEL_MAP_G_TO_G G G 1 0.0
GL_PIXEL_MAP_B_TO_B B B 1 0.0
GL_PIXEL_MAP_A_TO_A A A 1 0.0

Fungsi berikut mengambil informasi yang terkait dengan glPixelMap:

glGet dengan argumen GL_PIXEL_MAP_I_TO_I_SIZE

glGet dengan argumen GL_PIXEL_MAP_S_TO_S_SIZE

glGet dengan argumen GL_PIXEL_MAP_I_TO_R_SIZE

glGet dengan argumen GL_PIXEL_MAP_I_TO_G_SIZE

glGet dengan argumen GL_PIXEL_MAP_I_TO_B_SIZE

glGet dengan argumen GL_PIXEL_MAP_I_TO_A_SIZE

glGet dengan argumen GL_PIXEL_MAP_R_TO_R_SIZE

glGet dengan argumen GL_PIXEL_MAP_G_TO_G_SIZE

glGet dengan argumen GL_PIXEL_MAP_B_TO_B_SIZE

glGet dengan argumen GL_PIXEL_MAP_A_TO_A_SIZE

glGet dengan argumen GL_MAX_PIXEL_MAP_TABLE

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

glCopyPixels

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glReadPixels

glTexImage1D

glTexImage2D