Bagikan melalui


Pengantar Menyajikan Adegan (Direct3D 9)

API presentasi adalah sekumpulan metode yang mengontrol status perangkat yang memengaruhi apa yang dilihat pengguna pada monitor. Metode ini termasuk mengatur mode tampilan dan metode sekali per bingkai yang digunakan untuk menyajikan gambar kepada pengguna.

Pemahaman tentang istilah-istilah berikut diperlukan untuk memahami API presentasi.

  • buffer depan. Persegi panjang memori yang diterjemahkan oleh adaptor grafis dan ditampilkan pada monitor atau perangkat output lainnya.
  • kembali buffer. Permukaan yang isinya dapat dipromosikan ke buffer depan.
  • rantai pertukaran. Kumpulan buffer belakang yang dapat disajikan secara serial ke buffer depan. Biasanya, rantai pertukaran layar penuh menyajikan gambar berikutnya dengan antarmuka driver perangkat (DDI) yang membalik, dan rantai pertukaran berjendela menyajikan gambar dengan DDI yang menyatu.

Karena Direct3D 9 memiliki satu rantai pertukaran sebagai properti perangkat, selalu ada setidaknya satu rantai pertukaran per perangkat. Antarmuka IDirect3DDevice9 memiliki serangkaian metode yang memanipulasi rantai pertukaran implisit dan merupakan salinan antarmuka rantai pertukaran sendiri. Aplikasi dapat membuat rantai pertukaran tambahan; namun, ini tidak diperlukan untuk aplikasi jendela tunggal atau layar penuh yang khas.

Buffer depan tidak secara langsung terekspos di Direct3D 9. Akibatnya, aplikasi tidak dapat mengunci atau merender ke buffer depan. Untuk detailnya, lihat Mengakses Buffer Depan Warna (Direct3D 9).

Catatan

DirectX 7 menyediakan sejumlah API presentasi yang dipanggil bersama-sama. Contoh yang baik dari ini adalah urutan IDirectDraw7::SetCooperativeLevel, IDirectDraw7::SetDisplayMode, dan IDirectDraw7::CreateSurface. Selain itu, metode IDirectDrawSurface7::Flip dan IDirectDrawSurface7::Blt menandakan pengangkutan bingkai yang dirender ke monitor. Direct3D 9 menciutkan grup API ini menjadi dua metode utama, Reset dan Present. Reset subsumes SetCooperativeLevel, SetDisplayMode, CreateSurface, dan beberapa parameter untuk dibalik. Sajikan flip subjudul dan penggunaan presentasi blit.

 

Panggilan ke IDirect3D9::CreateDevice mewakili reset implisit perangkat. API Direct3D 9 tidak memiliki gagasan tentang permukaan utama; Anda tidak dapat membuat objek yang mewakili permukaan utama. Ini dianggap sebagai properti internal perangkat.

Gamma landai dikaitkan dengan rantai pertukaran dan dimanipulasi dengan metode IDirect3DDevice9::GetGammaRamp dan IDirect3DDevice9::SetGammaRamp .

Menyajikan Adegan