IDirect3DDevice9::SetGammaRamp 方法 (d3d9.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 |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |