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