Поделиться через


Метод IDirect3DDevice9::SetGammaRamp (d3d9helper.h)

Задает рампу гамма-коррекции для неявной цепочки буферов. Этот метод влияет на весь экран (а не только активное окно, если вы работаете в оконном режиме).

Синтаксис

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

Параметры

[in] iSwapChain

Тип: UINT

Целое число без знака, указывающее цепочку буферов.

[in] Flags

Тип: DWORD

Указывает, следует ли применять исправление. Гамма-коррекция приводит к более согласованному отображению, но может повлечь за собой затраты на обработку и не должна использоваться часто. Краткосрочные эффекты, такие как мигание всего экрана красным цветом, не должны быть откалиброваны, но следует откалибровывание длительных гамма-изменений. Можно задать одно из следующих значений:

Элемент Описание
D3DSGR_CALIBRATE Если установлен гамма-калибратор, пандус будет изменен перед отправкой на устройство с учетом кривых отклика системы и мониторинга. Если калибратор не установлен, пандус будет передаваться непосредственно на устройство.
D3DSGR_NO_CALIBRATION Гамма-коррекция не применяется. Предоставленная гамма-таблица передается непосредственно на устройство.

[in] pRamp

Тип: const D3DGAMMARAMP*

Указатель на D3DGAMMARAMP структуру, представляющую рампу гамма-коррекции, которая должна быть задана для неявной цепочки буферов.

Возвращаемое значение

None

Remarks

Для каждого устройства всегда существует по крайней мере одна цепочка буферов (неявная цепочка буферов), так как Direct3D 9 имеет одну цепочку буферов в качестве свойства устройства. Гамма-рампа вступает в силу немедленно; вертикальная синхронизация не ожидается.

Если устройство не поддерживает гамма-пандусы в текущем режиме представления цепочки буферов (в полноэкранном или оконном режиме), ошибка не возвращается. Приложения могут проверка биты возможностей D3DCAPS2_FULLSCREENGAMMA и D3DCAPS2_CANCALIBRATEGAMMA в элементе Caps2 структуры D3DCAPS9, чтобы определить возможности устройства и установить ли калибратор.

Для представления гамма-коррекции окна используйте IDirect3DSwapChain9::P resent , если оборудование поддерживает эту функцию. В DirectX 8 SetGammaRamp задаст гамма-пандус только в полноэкранном режиме приложения. Дополнительные сведения о гамма-коррекции см. в разделе Гамма (Direct3D 9).

Требования

Требование Значение
Целевая платформа Windows
Header d3d9helper.h (включая D3D9.h)
Библиотека D3D9.lib

См. также раздел

IDirect3DDevice9

IDirect3DDevice9::GetGammaRamp

IDirect3DSwapChain9