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


структура CD3D11_RASTERIZER_DESC1 (d3d11_1.h)

Примечание Эта структура поддерживается средой выполнения Direct3D 11.1, которая доступна в Windows 8 и более поздних версиях операционных систем.
 
Описывает состояние растеризатора.

Синтаксис

struct CD3D11_RASTERIZER_DESC1 : D3D11_RASTERIZER_DESC1 {
  void CD3D11_RASTERIZER_DESC1();
  void CD3D11_RASTERIZER_DESC1(
    const D3D11_RASTERIZER_DESC1 & o
  );
  void CD3D11_RASTERIZER_DESC1(
    CD3D11_DEFAULT unnamedParam1
  );
  void CD3D11_RASTERIZER_DESC1(
    D3D11_FILL_MODE fillMode,
    D3D11_CULL_MODE cullMode,
    BOOL            frontCounterClockwise,
    INT             depthBias,
    FLOAT           depthBiasClamp,
    FLOAT           slopeScaledDepthBias,
    BOOL            depthClipEnable,
    BOOL            scissorEnable,
    BOOL            multisampleEnable,
    BOOL            antialiasedLineEnable,
    UINT            forcedSampleCount
  );
  void ~CD3D11_RASTERIZER_DESC1();
};

Наследование

Структура CD3D11_RASTERIZER_DESC1 реализует D3D11_RASTERIZER_DESC1.

Элементы

void CD3D11_RASTERIZER_DESC1()

void CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1 & o)

void CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT unnamedParam1)

void CD3D11_RASTERIZER_DESC1( D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode, BOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias, BOOL depthClipEnable, BOOL scissorEnable, BOOL multisampleEnable, BOOL antialiasedLineEnable, UINT forcedSampleCount)

void ~CD3D11_RASTERIZER_DESC1()

Комментарии

AntialiasedLineEnable

Тип: BOOL

Указывает, следует ли включить сглаживание строк; Применяется, только если выполняется рисование линий и multisampleEnable имеет значение FALSE. Дополнительные сведения об этом участнике см. в разделе Примечания.

CullMode

Тип: D3D11_CULL_MODE

Указывает, что треугольники, обращенные к указанному направлению, не рисуются.

DepthBias

Тип: INT

Значение глубины, добавленное к заданному пикселю. Сведения о смещениях глубины см. в разделе См. в разделе См. см. см. раздел См. см. в разделе См. см

DepthBiasClamp

Тип: FLOAT

Максимальное смещение глубины пикселя. Сведения о смещениях глубины см. в разделе См. в разделе См. см. см. раздел См. см. в разделе См. см

DepthClipEnable

Тип: BOOL

Указывает, следует ли включать обрезку на основе расстояния.

Оборудование всегда выполняет обрезку растровых координат по оси x и y. Если параметр DepthClipEnable имеет значение по умолчанию –TRUE, оборудование также обрезает значение z (то есть оборудование выполняет последний шаг следующего алгоритма).


0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w

Если для depthClipEnable задано значение FALSE, оборудование пропускает обрезку z (т. е. последний шаг в предыдущем алгоритме). Однако оборудование по-прежнему выполняет обрезку "0 < w". Если z-обрезка отключена, может привести к неправильному упорядочению глубины на уровне пикселей. Однако при отключении z-отсечения реализации теневого набора элементов упрощаются. Другими словами, можно избежать сложной обработки особых случаев для геометрии, которая выходит за пределы задней плоскости отсечения.

FillMode

Тип: D3D11_FILL_MODE

Определяет режим заполнения, используемый при отрисовке.

ForcedSampleCount

Тип: UINT

Число выборок, которое принудительно выполняется при отрисовке или растеризации БПЛА. Допустимые значения: 0, 1, 2, 4, 8 и при необходимости 16. 0 означает, что количество выборок не является принудительным.

Примечание Если вы хотите выполнить отрисовку с параметром ForcedSampleCount , равным 1 или выше, необходимо следовать следующим рекомендациям:
  • Не привязывайте представления трафаретов глубины.
  • Отключите тестирование глубины.
  • Убедитесь, что шейдер не выводит глубину.
  • Если у вас есть какие-либо представления целевого объекта отрисовки, привязанные (D3D11_BIND_RENDER_TARGET), а значение ForcedSampleCount больше 1, убедитесь, что каждый целевой объект отрисовки содержит только одну выборку.
  • Не управляйте шейдером с частотой выборки. Поэтому ID3D11ShaderReflection::IsSampleFrequencyShader возвращает значение FALSE.
В противном случае поведение отрисовки не определено. Сведения о настройке трафарета глубины см. в разделе Настройка функций Depth-Stencil.
 

FrontCounterClockwise

Тип: BOOL

Указывает, является ли треугольник передним или задним. Если задано значение TRUE, треугольник будет считаться обращенным спереди, если его вершины находятся против часовой стрелки на целевом объекте отрисовки, и считается обращенным назад, если они находятся по часовой стрелке. Если значение РАВНО FALSE, то имеет значение true.

MultisampleEnable

Тип: BOOL

Указывает, следует ли использовать алгоритм сглаживания четырехугольной или альфа-линии для целевых объектов с сглаживания с несколькими дискретными данными (MSAA). Задайте значение TRUE , чтобы использовать алгоритм сглаживания четырехугольной линии, и значение FALSE , чтобы использовать алгоритм сглаживания альфа-линий. Дополнительные сведения об этом участнике см. в разделе Примечания.

ScissorEnable

Тип: BOOL

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

SlopeScaledDepthBias

Тип: FLOAT

Скалярный на склоне заданного пикселя. Сведения о смещениях глубины см. в разделе См. в разделе См. см. см. раздел См. см. в разделе См. см

Состояние растеризатора определяет поведение этапа растеризатора. Чтобы создать объект состояния растеризатора, вызовите ID3D11Device1::CreateRasterizerState1. Чтобы задать состояние растеризатора, вызовите ID3D11DeviceContext::RSSetState.

Если не указать состояние растеризатора, среда выполнения Direct3D использует следующие значения по умолчанию для состояния растеризатора.

Состояние Значение по умолчанию
FillMode Сплошная
CullMode Назад
FrontCounterClockwise FALSE
DepthBias 0
SlopeScaledDepthBias 0.0f
DepthBiasClamp 0.0f
DepthClipEnable TRUE
ScissorEnable FALSE
MultisampleEnable FALSE
AntialiasedLineEnable FALSE
ForcedSampleCount 0
Примечание Для уровней компонентов 9.1, 9.2, 9.3 и 10.0, если для параметра MultisampleEnable задано значение FALSE, среда выполнения отрисовывает все точки, линии и треугольники без сглаживания даже для целевых объектов отрисовки с числом выборок больше 1. Для уровней компонентов 10.1 и выше параметр MultisampleEnable не влияет на точки и треугольники в отношении MSAA и влияет только на выбор алгоритма отрисовки линий, как показано в следующей таблице:
 
Алгоритм отрисовки линий MultisampleEnable AntialiasedLineEnable
Псевдоним FALSE FALSE
Альфа-антиалиазированные FALSE TRUE
Четырехугольник TRUE FALSE
Четырехугольник TRUE TRUE
  Параметры элементов MultisampleEnable и AntialiasedLineEnable применяются только к целевым объектам отрисовки с несколькими выборками (MSAA) (то есть целевым объектам отрисовки с количеством выборок больше 1). Из-за различий в поведении на уровне признаков и до тех пор, пока вы не выполняете рисование линий или не возражаете против того, чтобы линии отрисовывались как четырехугольные, рекомендуется всегда устанавливать для MultisampleEnable значение TRUE при отрисовке в целевых объектах отрисовки MSAA.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Верхняя часть d3d11_1.h

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

Основные структуры