Bagikan melalui


Struktur DDSCAPS (ddraw.h)

Struktur DDSCAPS mendefinisikan kemampuan objek permukaan Microsoft DirectDraw.

Sintaks

typedef struct _DDSCAPS {
  DWORD dwCaps;
} DDSCAPS;

Anggota

dwCaps

Menunjukkan sekumpulan bendera yang menentukan kemampuan permukaan. Anggota ini adalah bitwise ATAU dari salah satu bendera berikut:

Bendera Makna

DDSCAPS_3DDEVICE

Permukaan ini dapat digunakan untuk penyajian 3D. Aplikasi dapat menggunakan bendera ini untuk memastikan bahwa perangkat yang hanya dapat merender ke tumpukan tertentu memiliki permukaan di luar layar yang dialokasikan dari tumpukan yang benar. Jika bendera ini diatur untuk timbunan, permukaan tidak dialokasikan dari timbunan tersebut.

DDSCAPS_ALLOCONLOAD

Memori untuk permukaan tidak dialokasikan sampai permukaan dimuat oleh aplikasi menggunakan metode IDirect3DTexture::Load .

DDSCAPS_ALPHA

Permukaan ini hanya berisi informasi alfa.

DDSCAPS_BACKBUFFER

Permukaan ini adalah buffer belakang struktur permukaan membalik. Biasanya, kemampuan ini diatur oleh metode CreateSurface aplikasi saat bendera DDSCAPS_FLIP digunakan. Hanya permukaan yang segera mendahului permukaan DDSCAPS_FRONTBUFFER yang memiliki set kemampuan ini. Permukaan lainnya diidentifikasi sebagai buffer belakang dengan adanya bendera DDSCAPS_FLIP, urutan lampirannya, dan tidak adanya kemampuan DDSCAPS_FRONTBUFFER dan DDSCAPS_BACKBUFFER. Jika kemampuan ini dikirim ke metode CreateSurface aplikasi, buffer belakang yang berdiri sendiri sedang dibuat. Setelah metode ini dipanggil, permukaan ini dapat dilampirkan ke buffer depan, buffer belakang lain, atau keduanya untuk membentuk struktur permukaan yang membalik. Untuk informasi selengkapnya, lihat metode AddAttachedSurface di DirectX SDK. DirectDraw mendukung jumlah permukaan sewenang-wenang dalam struktur membalik.

DDSCAPS_COMPLEX

Permukaan yang kompleks sedang dijelaskan. Permukaan yang kompleks menghasilkan pembuatan lebih dari satu permukaan. Permukaan tambahan melekat pada permukaan akar. Struktur kompleks hanya dapat dihancurkan dengan menghancurkan akar.

DDSCAPS_EXECUTEBUFFER

Permukaan adalah buffer eksekusi, yang merupakan potongan linear sistem atau memori video yang menyimpan daftar tampilan Microsoft Direct3D. Driver melaporkan bit kemampuan ini untuk menunjukkan bahwa ia dapat membuat buffer eksekusi dalam memori video. Jika runtime Direct3D mendeteksi bit ini, runtime tersebut dapat meminta buffer eksekusi dari driver. Aplikasi tidak dapat mendeteksi bit kapabilitas ini.

DDSCAPS_FLIP

Permukaan ini adalah bagian dari struktur membalik permukaan. Ketika kemampuan ini diteruskan ke metode CreateSurface aplikasi, buffer depan dan satu atau beberapa buffer belakang dibuat. DirectDraw mengatur bit DDSCAPS_FRONTBUFFER pada permukaan buffer depan dan bit DDSCAPS_BACKBUFFER pada permukaan yang berdekatan dengan permukaan buffer depan. Anggota dwBackBufferCount dari struktur DDSURFACEDESC harus diatur ke setidaknya 1 agar panggilan metode berhasil. Kemampuan DDSCAPS_COMPLEX harus selalu diatur saat membuat beberapa permukaan dengan menggunakan metode CreateSurface .

DDSCAPS_FRONTBUFFER

Permukaan ini adalah buffer depan struktur permukaan membalik. Bendera ini biasanya diatur oleh metode CreateSurface aplikasi ketika kemampuan DDSCAPS_FLIP diatur. Jika kemampuan ini dikirim ke metode CreateSurface , buffer depan yang berdiri sendiri dibuat. Permukaan ini tidak memiliki kemampuan DDSCAPS_FLIP. Ini dapat dilampirkan ke buffer belakang lainnya untuk membentuk struktur membalik dengan menggunakan metode AddAttachedSurface aplikasi.

DDSCAPS_HWCODEC

Permukaan ini harus dapat memiliki aliran yang didekompresi oleh perangkat keras.

DDSCAPS_LIVEVIDEO

Permukaan ini harus dapat menerima video langsung.

DDSCAPS_LOCALVIDMEM

Permukaan ini ada dalam memori tampilan lokal yang benar, bukan memori tampilan nonlokal. Jika bendera ini ditentukan, maka DDSCAPS_VIDEOMEMORY juga harus ditentukan. Bendera ini tidak dapat digunakan dengan bendera DDSCAPS_NONLOCALVIDMEM.

DDSCAPS_MIPMAP

Permukaan ini adalah satu tingkat mipmap. Permukaan ini melekat pada permukaan DDSCAPS_MIPMAP lain untuk membentuk mipmap. Ini dapat dilakukan secara eksplisit dengan membuat sejumlah permukaan dan melampirkannya dengan menggunakan metode AddAttachedSurface aplikasi, atau secara implisit oleh metode CreateSurface aplikasi. Jika kemampuan ini diatur, DDSCAPS_TEXTURE juga harus diatur.

DDSCAPS_MODEX

Permukaan ini adalah permukaan Mode X 320x200 atau 320x240. Jika bit kapabilitas ini diatur oleh driver Microsoft Windows 2000 atau yang lebih baru, DirectDraw dinonaktifkan.

DDSCAPS_NONLOCALVIDMEM

Permukaan ini ada dalam memori tampilan nonlokal daripada memori tampilan lokal yang benar. Jika bendera ini ditentukan, maka bendera DDSCAPS_VIDEOMEMORY juga harus ditentukan. Ini tidak dapat digunakan dengan bendera DDSCAPS_LOCALVIDMEM.

DDSCAPS_OFFSCREENPLAIN

Permukaan ini adalah permukaan di luar layar yang bukan overlay, tekstur, z-buffer, front-buffer, back-buffer, atau permukaan alfa. Ini digunakan untuk mengidentifikasi permukaan biasa.

DDSCAPS_OVERLAY

Permukaan ini adalah overlay. Visibilitas overlay ini tergantung pada apakah saat ini sedang dilapisi ke permukaan utama. DDSCAPS_VISIBLE dapat digunakan untuk menentukan apakah sedang dilapisi saat ini.

DDSCAPS_OPTIMIZED

Bendera ini saat ini tidak diimplementasikan.

DDSCAPS_OWNDC

Permukaan ini akan memiliki asosiasi konteks perangkat (DC) untuk jangka waktu yang lama. Jika bit kemampuan ini diatur oleh driver Windows 2000 atau yang lebih baru, DirectDraw akan dinonaktifkan.

DDSCAPS_PALETTE

Driver perangkat ini memungkinkan objek DirectDrawPalette unik untuk dibuat dan dilampirkan ke permukaan ini.

DDSCAPS_PRIMARYSURFACE

Permukaan ini adalah permukaan utama. Ini mewakili apa yang terlihat oleh pengguna saat ini.

DDSCAPS_PRIMARYSURFACELEFT

Permukaan ini adalah permukaan utama untuk mata kiri. Ini mewakili apa yang terlihat oleh mata kiri pengguna saat ini. Ketika permukaan ini dibuat, permukaan dengan kemampuan DDSCAPS_PRIMARYSURFACE mewakili apa yang terlihat oleh mata kanan pengguna.

DDSCAPS_STANDARDVGAMODE

Permukaan ini adalah permukaan mode VGA standar, dan bukan permukaan ModeX. Bendera ini tidak dapat digunakan dalam kombinasi dengan bendera DDSCAPS_MODEX.

DDSCAPS_SYSTEMMEMORY

Memori permukaan ini dialokasikan dari memori sistem. Jika bit kemampuan ini diatur oleh driver Windows 2000 atau yang lebih baru, DirectDraw dinonaktifkan.

DDSCAPS_TEXTURE

Permukaan ini dapat digunakan sebagai tekstur 3D. Ini tidak menunjukkan apakah permukaan sedang digunakan untuk tujuan itu.

DDSCAPS_VIDEOMEMORY

Permukaan ini ada dalam memori tampilan.

DDSCAPS_VIDEOPORT

Permukaan ini dapat menerima data dari objek ekstensi port video (VPE ).

DDSCAPS_VISIBLE

Perubahan yang dilakukan pada permukaan ini segera terlihat. Ini selalu diatur untuk permukaan utama, serta untuk overlay saat sedang dilapisi dan peta tekstur saat sedang diteksur.

DDSCAPS_WRITEONLY

Hanya akses tulis yang diizinkan ke permukaan. Akses baca dari permukaan dapat menghasilkan kesalahan perlindungan umum (GPF), tetapi hasil baca dari permukaan ini tidak bermakna. Jika bit kemampuan ini diatur oleh driver Windows 2000 atau yang lebih baru, DirectDraw dinonaktifkan.

DDSCAPS_ZBUFFER

Permukaan ini adalah z-buffer. Ini berisi informasi kedalaman bit yang digunakan untuk menentukan piksel mana yang terlihat dan mana yang dikaburkan. Z-buffer berisi informasi yang tidak dapat ditampilkan.

Keterangan

Struktur ini digunakan oleh driver untuk melaporkan jenis permukaan yang didukung driver. Ini juga diisi oleh aplikasi untuk menentukan jenis permukaan yang akan dibuat.

Persyaratan

Persyaratan Nilai
Header ddraw.h