структура D3D11_RASTERIZER_DESC (d3d11.h)
Описывает состояние растеризатора.
Синтаксис
typedef struct D3D11_RASTERIZER_DESC {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;
Члены
FillMode
Тип: D3D11_FILL_MODE
Определяет режим заполнения, используемый при отрисовке (см . D3D11_FILL_MODE).
CullMode
Тип: D3D11_CULL_MODE
Указывает, что треугольники, обращенные к указанному направлению, не рисуются (см . D3D11_CULL_MODE).
FrontCounterClockwise
Тип: BOOL
Определяет, является ли треугольник передним или задним. Если этот параметр имеет значение TRUE, треугольник будет считаться обращенным спереди, если его вершины находятся против часовой стрелки на целевом объекте отрисовки, и считается обращенным назад, если они находятся по часовой стрелке. Если этот параметр имеет значение FALSE, то обратное — true.
DepthBias
Тип: INT
Значение глубины, добавленное к заданному пикселю. Сведения о см. в разделе См. см. в разделе См. см. раздел См. см. раздел
DepthBiasClamp
Тип: FLOAT
Максимальное смещение глубины пикселя. Сведения о см. в разделе См. см. в разделе См. см. раздел См. см. раздел
SlopeScaledDepthBias
Тип: 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-отсечения реализации теневых элементов упрощаются. Другими словами, можно избежать сложной обработки специальных регистров для геометрии, которая выходит за рамки обратной плоскости отсечения.
ScissorEnable
Тип: BOOL
Включите отбраковку ножниц и прямоугольников. Все пиксели за пределами активного прямоугольника ножницы отбираются.
MultisampleEnable
Тип: BOOL
Указывает, следует ли использовать алгоритм сглаживания четырехугольной или альфа-линии на целевых объектах отрисовки с многопримерной отрисовки (MSAA). Задайте значение TRUE , чтобы использовать алгоритм сглаживания четырехугольной линии, и значение FALSE , чтобы использовать алгоритм сглаживания альфа-линии. Дополнительные сведения об этом участнике см. в разделе Примечания.
AntialiasedLineEnable
Тип: BOOL
Указывает, следует ли включать сглаживание строк; Применяется, только если выполняется рисование линий, а multisampleEnable имеет значение FALSE. Дополнительные сведения об этом участнике см. в разделе Примечания.
Комментарии
Состояние растеризатора определяет поведение этапа растеризатора. Чтобы создать объект состояния растеризатора, вызовите ID3D11Device::CreateRasterizerState. Чтобы задать состояние растеризатора, вызовите ID3D11DeviceContext::RSSetState.
Если не указать состояние растеризатора, среда выполнения Direct3D использует следующие значения по умолчанию для состояния растеризатора.
Состояние | Значение по умолчанию |
---|---|
FillMode | Сплошная |
CullMode | Назад |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0,0f |
DepthBiasClamp | 0,0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
Алгоритм отрисовки линий | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Псевдоним | FALSE | FALSE |
Альфа-антиалиазированные | FALSE | TRUE |
Четырехугольник | TRUE | FALSE |
Четырехугольник | TRUE | TRUE |
Параметры элементов MultisampleEnable и AntialiasedLineEnable применяются только к целевым объектам отрисовки с несколькими выборками (MSAA) (то есть целевым объектам отрисовки с количеством выборок больше 1). Из-за различий в поведении на уровне признаков и до тех пор, пока вы не выполняете рисование линий или не возражаете против того, чтобы линии отрисовывались как четырехугольные, рекомендуется всегда устанавливать для MultisampleEnable значение TRUE при отрисовке в целевых объектах отрисовки MSAA.
Требования
Требование | Значение |
---|---|
Заголовок | d3d11.h |