Bagikan melalui


Metode IDirect3DDevice9::SetGammaRamp (d3d9helper.h)

Mengatur ramp koreksi gamma untuk rantai pertukaran implisit. Metode ini akan memengaruhi seluruh layar (bukan hanya jendela aktif jika Anda berjalan dalam mode berjendela).

Sintaks

void SetGammaRamp(
  [in] UINT               iSwapChain,
  [in] DWORD              Flags,
  [in] const D3DGAMMARAMP *pRamp
);

Parameter

[in] iSwapChain

Jenis: UINT

Bilangan bulat yang tidak ditandatangani yang menentukan rantai pertukaran.

[in] Flags

Jenis: DWORD

Menunjukkan apakah koreksi harus diterapkan. Koreksi Gamma menghasilkan tampilan yang lebih konsisten, tetapi dapat menimbulkan overhead pemrosesan dan tidak boleh sering digunakan. Efek durasi pendek, seperti berkedip seluruh layar merah, tidak boleh dikalibrasi, tetapi perubahan gamma durasi panjang harus dikalibrasi. Salah satu nilai berikut ini dapat diatur:

Item Deskripsi
D3DSGR_CALIBRATE Jika calibrator gamma dipasang, ramp akan dimodifikasi sebelum dikirim ke perangkat untuk memperhitungkan sistem dan memantau kurva respons. Jika kalibrator tidak diinstal, ramp akan diteruskan langsung ke perangkat.
D3DSGR_NO_CALIBRATION Tidak ada koreksi gamma yang diterapkan. Tabel gamma yang disediakan ditransfer langsung ke perangkat.

[in] pRamp

Jenis: const D3DGAMMARAMP*

Penunjuk ke struktur D3DGAMMARAMP , mewakili ramp koreksi gamma yang akan diatur untuk rantai pertukaran implisit.

Nilai kembali

Tidak ada

Keterangan

Selalu ada setidaknya satu rantai pertukaran (rantai pertukaran implisit) untuk setiap perangkat, karena Direct3D 9 memiliki satu rantai pertukaran sebagai properti perangkat. Tanjakan gamma segera berlaku; tidak ada tunggu sinkronisasi vertikal.

Jika perangkat tidak mendukung gamma landai dalam mode presentasi rantai pertukaran saat ini (layar penuh atau berjendela), tidak ada pengembalian kesalahan yang diberikan. Aplikasi dapat memeriksa bit kemampuan D3DCAPS2_FULLSCREENGAMMA dan D3DCAPS2_CANCALIBRATEGAMMA di anggota Caps2 dari struktur D3DCAPS9 untuk menentukan kemampuan perangkat dan apakah calibrator diinstal.

Untuk presentasi koreksi gamma berjendela, gunakan IDirect3DSwapChain9::P resent jika perangkat keras mendukung fitur tersebut. Di DirectX 8, SetGammaRamp akan mengatur gamma ramp hanya pada aplikasi mode layar penuh. Untuk informasi selengkapnya tentang koreksi gamma, lihat Gamma (Direct3D 9).

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header d3d9helper.h (termasuk D3D9.h)
Pustaka D3D9.lib

Lihat juga

IDirect3DDevice9

IDirect3DDevice9::GetGammaRamp

IDirect3DSwapChain9