IDirect3DDevice9::SetGammaRamp 方法 (d3d9helper.h)

設定隱含交換鏈結的 gamma 更正坡形。 如果您以視窗模式) 執行,這個方法不會影響整個畫面 (不只是活動視窗。

語法

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

參數

[in] iSwapChain

類型: UINT

指定交換鏈結的不帶正負號整數。

[in] Flags

類型: DWORD

指出是否應該套用更正。 Gamma 修正會導致更一致的顯示,但可能會產生處理額外負荷,不應經常使用。 短期效果,例如將整個螢幕紅色閃爍,不應該校正,但應該校正長時間的 Gamma 變更。 可以設定下列其中一個值:

項目 描述
D3DSGR_CALIBRATE 如果已安裝 gamma 校正器,則會先修改坡形,再傳送至裝置以考慮系統和監視回應曲線。 如果未安裝校正器,則坡形會直接傳遞至裝置。
D3DSGR_NO_CALIBRATION 未套用 Gamma 修正。 提供的 gamma 數據表會直接傳輸至裝置。

[in] pRamp

類型: const D3DGAMMARAMP*

D3DGAMMARAMP 結構的指標,表示要為隱含交換鏈結設定的 gamma 更正坡形。

傳回值

備註

每個裝置一律至少有一個交換鏈結 (隱含交換鏈結) ,因為 Direct3D 9 有一個交換鏈結作為裝置的屬性。 gamma 坡形會立即生效;沒有等候垂直同步。

如果裝置不支援交換鏈結目前簡報模式中的 gamma 坡形, (全螢幕或視窗化) ,則不會提供任何錯誤傳回。 應用程式可以在 D3DCAPS9 結構的 Caps2 成員中檢查D3DCAPS2_FULLSCREENGAMMA和D3DCAPS2_CANCALIBRATEGAMMA功能位,以判斷裝置的功能,以及是否已安裝校正器。

針對視窗式 gamma 修正簡報,如果硬體支援此功能,請使用 IDirect3DSwapChain9::P resent 。 在 DirectX 8 中,SetGammaRamp 只會在全螢幕模式應用程式上設定 gamma 坡形。 如需 gamma 修正的詳細資訊,請參閱 Gamma (Direct3D 9)

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DDevice9

IDirect3DDevice9::GetGammaRamp

IDirect3DSwapChain9