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
GL_INVALID_ENUM
target bukan nilai yang diterima.
GL_INVALID_VALUE
tingkat kurang dari nol atau lebih besar dari maks log2, di mana maks adalah nilai yang dikembalikan dari GL_MAX_TEXTURE_SIZE.
GL_INVALID_VALUE
batas bukan nol atau 1.
GL_INVALID_VALUE
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.
GL_INVALID_OPERATION
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
Gl.h
Pustaka
Opengl32.lib
DLL
Opengl32.dll

Lihat juga

glCopyPixels

glCopyTexImage2D

glDrawPixels

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter