Bagikan melalui


Struktur LAYERPLANEDESCRIPTOR (wingdi.h)

Struktur LAYERPLANEDESCRIPTOR menjelaskan format piksel permukaan gambar.

Sintaks

typedef struct tagLAYERPLANEDESCRIPTOR {
  WORD     nSize;
  WORD     nVersion;
  DWORD    dwFlags;
  BYTE     iPixelType;
  BYTE     cColorBits;
  BYTE     cRedBits;
  BYTE     cRedShift;
  BYTE     cGreenBits;
  BYTE     cGreenShift;
  BYTE     cBlueBits;
  BYTE     cBlueShift;
  BYTE     cAlphaBits;
  BYTE     cAlphaShift;
  BYTE     cAccumBits;
  BYTE     cAccumRedBits;
  BYTE     cAccumGreenBits;
  BYTE     cAccumBlueBits;
  BYTE     cAccumAlphaBits;
  BYTE     cDepthBits;
  BYTE     cStencilBits;
  BYTE     cAuxBuffers;
  BYTE     iLayerPlane;
  BYTE     bReserved;
  COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;

Anggota

nSize

Menentukan ukuran struktur data ini. Atur nilai ini ke sizeof(LAYERPLANEDESCRIPTOR).

nVersion

Menentukan versi struktur data ini. Atur nilai ini ke 1.

dwFlags

Sekumpulan bendera bit yang menentukan properti bidang lapisan. Properti umumnya tidak saling eksklusif; setiap kombinasi bendera bit dapat diatur, dengan pengecualian yang dicatat. Konstanta bendera bit berikut ditentukan.

Nilai Makna
LPD_SUPPORT_OPENGL Bidang lapisan mendukung gambar OpenGL.
LPD_SUPPORT_GDI Bidang lapisan mendukung gambar GDI. Implementasi OpenGL saat ini tidak mendukung bendera ini.
LPD_DOUBLEBUFFER Bidang lapisan di-buffer ganda. Bidang lapisan dapat di-buffer ganda bahkan ketika bidang utama di-buffer tunggal dan sebaliknya.
LPD_STEREO Bidang lapisan adalah stereoskopis. Bidang lapisan dapat menjadi stereoskopis bahkan ketika bidang utama monoskopis dan sebaliknya.
LPD_SWAP_EXCHANGE Dalam bidang lapisan buffer ganda, menukar buffer warna bertukar konten buffer depan dan buffer belakang. Buffer belakang kemudian berisi konten buffer depan sebelum pertukaran. Bendera ini hanya merupakan petunjuk dan mungkin tidak disediakan oleh driver.
LPD_SWAP_COPY Dalam bidang lapisan buffer ganda, menukar buffer warna menyalin konten buffer belakang ke buffer depan. Pertukaran tidak memengaruhi konten buffer belakang. Bendera ini hanya merupakan petunjuk dan mungkin tidak disediakan oleh driver.
LPD_TRANSPARENT Anggota crTransparent dari struktur ini berisi warna transparan atau nilai indeks yang memungkinkan lapisan yang mendasar ditampilkan melalui lapisan ini. Semua bidang lapisan, kecuali lapisan underlay bernomor terendah, memiliki warna atau indeks transparan.
LPD_SHARE_DEPTH Bidang lapisan berbagi buffer kedalaman dengan bidang utama.
LPD_SHARE_STENCIL Bidang lapisan berbagi buffer stensil dengan bidang utama.
LPD_SHARE_ACCUM Bidang lapisan berbagi buffer akumulasi dengan bidang utama.

iPixelType

Menentukan jenis data piksel. Jenis berikut ditentukan.

Nilai Makna
LPD_TYPE_RGBA Piksel RGBA. Setiap piksel memiliki empat komponen: merah, hijau, biru, dan alfa.
LPD_TYPE_COLORINDEX Piksel indeks warna. Setiap piksel menggunakan nilai indeks warna.

cColorBits

Menentukan jumlah bitplanes warna di setiap buffer warna. Untuk jenis piksel RGBA, ini adalah ukuran buffer warna, tidak termasuk bitplanes alfa. Untuk piksel indeks warna, ini adalah ukuran buffer indeks warna.

cRedBits

Menentukan jumlah bitplanes merah di setiap buffer warna RGBA.

cRedShift

Menentukan jumlah shift untuk bitplane merah di setiap buffer warna RGBA.

cGreenBits

Menentukan jumlah bitplanes hijau di setiap buffer warna RGBA.

cGreenShift

Menentukan jumlah shift untuk bitplane hijau di setiap buffer warna RGBA.

cBlueBits

Menentukan jumlah bitplanes biru di setiap buffer warna RGBA.

cBlueShift

Menentukan jumlah shift untuk bitplanes biru di setiap buffer warna RGBA.

cAlphaBits

Menentukan jumlah bitplanes alfa di setiap buffer warna RGBA. Bitplanes alpha tidak didukung.

cAlphaShift

Menentukan jumlah shift untuk bitplanes alfa di setiap buffer warna RGBA. Bitplanes alpha tidak didukung.

cAccumBits

Menentukan jumlah total bitplanes dalam buffer akumulasi.

cAccumRedBits

Menentukan jumlah bitplanes merah dalam buffer akumulasi.

cAccumGreenBits

Menentukan jumlah bitplanes hijau dalam buffer akumulasi.

cAccumBlueBits

Menentukan jumlah bitplanes biru dalam buffer akumulasi.

cAccumAlphaBits

Menentukan jumlah bitplanes alfa dalam buffer akumulasi.

cDepthBits

Menentukan kedalaman buffer kedalaman (sumbu z).

cStencilBits

Menentukan kedalaman buffer stensil.

cAuxBuffers

Menentukan jumlah buffer tambahan. Buffer tambahan tidak didukung.

iLayerPlane

bReserved

Tidak digunakan. Harus nol.

crTransparent

Saat bendera LPD_TRANSPARENT diatur, menentukan warna transparan atau nilai indeks. Biasanya nilainya adalah nol.

Keterangan

Harap perhatikan, seperti yang di dokumentasikan di atas, bahwa properti bidang lapisan tertentu tidak didukung dalam implementasi saat ini. Implementasinya adalah implementasi perangkat lunak Microsoft GDI dari OpenGL. Produsen perangkat keras yang meningkatkan bagian OpenGL dapat mendukung beberapa properti bidang lapisan yang tidak didukung oleh implementasi generik.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header wingdi.h

Lihat juga

OpenGL di Windows

PIXELFORMATDESCRIPTOR

Struktur

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers