fungsi glCopyTexImage1D
Fungsi glCopyTexImage1D menyalin piksel dari framebuffer ke dalam gambar tekstur satu dimensi.
Sintaks
void WINAPI glCopyTexImage1D(
GLenum target,
GLint level,
GLenum internalFormat,
GLint x,
GLint y,
GLsizei width,
GLint border
);
Parameter
-
target
-
Target yang data gambarnya akan diubah. Harus memiliki nilai GL_TEXTURE_1D.
-
tingkat
-
Nomor tingkat detail. Tingkat 0 adalah gambar dasar. Level n adalah gambar pengurangan mipmap ke-n.
-
internalFormat
-
Format internal dan resolusi data tekstur. Parameter ini harus menjadi salah satu nilai simbolis berikut.
Terus-menerus Bit R G Bit Bit B Bit Bit L Bit I GL_ALPHA GL_ALPHA4 4 GL_ALPHA8 8 GL_ALPHA12 12 GL_ALPHA16 16 GL_LUMINANCE GL_LUMINANCE4 4 GL_LUMINANCE8 8 GL_LUMINANCE12 12 GL_LUMINANCE16 16 GL_LUMINANCE_ALPHA GL_LUMINANCE4_ALPHA4 4 4 GL_LUMINANCE6_ALPHA2 2 6 GL_LUMINANCE8_ALPHA8 8 8 GL_LUMINANCE12_ALPHA4 4 12 GL_LUMINANCE12_ALPHA12 12 12 GL_LUMINANCE16_ALPHA16 16 16 GL_INTENSITY GL_INTENSITY4 4 GL_INTENSITY8 8 GL_INTENSITY12 12 GL_INTENSITY16 16 GL_RGB GL_R3_G3_B2 3 3 2 GL_RGB4 4 4 4 GL_RGB5 5 5 5 GL_RGB8 8 8 8 GL_RGB10 10 10 10 GL_RGB12 12 12 12 GL_RGB16 16 16 16 GL_RGBA GL_RGBA2 2 2 2 2 GL_RGBA4 4 4 4 4 GL_RGB5_A1 5 5 5 1 GL_RGBA8 8 8 8 8 GL_RGB10_A2 10 10 10 2 GL_RGBA12 12 12 12 12 GL_RGBA16 16 16 16 16 -
x
-
Koordinat x-plane jendela sudut kiri bawah baris piksel yang akan disalin.
-
y
-
Koordinat bidang y jendela sudut kiri bawah baris piksel yang akan disalin.
-
width
-
Lebar gambar tekstur. Harus nol atau 2n + 2(batas) untuk beberapa bilangan bulat n. Tinggi gambar tekstur adalah 1.
-
Perbatasan
-
Lebar batas. Harus nol atau 1.
Mengembalikan nilai
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan
Kode kesalahan berikut dapat diambil oleh fungsi glGetError .
Nama | Makna |
---|---|
|
target bukan nilai yang diterima. |
|
tingkat kurang dari nol atau lebih besar dari maks log2, di mana maks adalah nilai yang dikembalikan dari GL_MAX_TEXTURE_SIZE. |
|
batas bukan nol atau 1. |
|
lebar kurang dari nol, lebih besar dari 2 + GL_MAX_TEXTURE_SIZE, atau lebar tidak dapat direpresentasikan sebagai 2n +(border) untuk beberapa bilangan bulat n. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Keterangan
Fungsi glCopyTexImage1D mendefinisikan gambar tekstur satu dimensi menggunakan piksel dari framebuffer saat ini, bukan dari memori utama seperti halnya untuk glTexImage1D.
Menggunakan tingkat mipmap yang ditentukan dengan tingkat, array tekstur didefinisikan sebagai baris piksel yang diratakan dengan sudut kiri bawah jendela pada koordinat yang ditentukan oleh x dan y, dengan panjang sama dengan lebar + 2 * batas. Format internal array tekstur ditentukan dengan parameter internalFormat .
Fungsi glCopyTexImage1D memproses piksel dalam baris dengan cara yang sama seperti glCopyPixels, kecuali bahwa sebelum konversi akhir piksel, semua nilai komponen piksel dijepit ke rentang [0,1] dan dikonversi ke format internal tekstur untuk penyimpanan dalam array tekstur. Pengurutan piksel ditentukan dengan koordinat x yang lebih rendah yang sesuai dengan koordinat tekstur yang lebih rendah. Jika salah satu piksel dalam baris tertentu dari framebuffer saat ini berada di luar jendela yang terkait dengan konteks penyajian saat ini, maka nilainya tidak terdefinisi.
Anda tidak dapat menyertakan panggilan ke glCopyTexImage1D dalam daftar tampilan.
Catatan
Fungsi glCopyTexImage1D hanya tersedia di OpenGL versi 1.1 atau yang lebih baru.
Teksur tidak berpengaruh dalam mode indeks warna. Fungsi glPixelStore dan glPixelTransfer memengaruhi gambar tekstur dengan cara yang tepat mempengaruhi glDrawPixels.
Fungsi berikut mengambil informasi yang terkait dengan glCopyTexImage1D:
glIsEnabled dengan argumen GL_TEXTURE_1D
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
DLL |
|