структура 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.

Примечание Для уровней компонентов 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.

Требования

   
Верхняя часть d3d10.h

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

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