Объект Stream-Output
Объект stream-output — это шаблонный объект, который передает данные из этапа геометрического шейдера. Используйте следующий синтаксис для объявления объекта stream-output.
inout StreamOutputObject<DataType>Name; |
---|
Параметры
-
StreamOutputObject<Datatype>Имя
-
Объявление объекта stream-output (SO).
Типы объектов Stream-Output Описание PointStream Последовательность точечных примитивов LineStream Последовательность примитивов строк TriangleStream Последовательность примитивов треугольников DataType — тип выходных данных; может быть любым типом данных HLSL. Должен быть заключен в угловые скобки.
Name — имя переменной; Строка ASCII, однозначно идентифицирующая объект .
Пример
Это пример объявления объекта типа stream-output, которое передает поток примитивов треугольников, данные которых определяются PS_CUBEMAP_IN структурой. Геометрический шейдер ограничен формированием 18 вершин.
struct PS_CUBEMAP_IN
{
float4 Pos : SV_POSITION; // Projection coord
float2 Tex : TEXCOORD0; // Texture coord
uint RTIndex : SV_RenderTargetArrayIndex;
};
[maxvertexcount(18)]
void main( inout TriangleStream<PS_CUBEMAP_IN> CubeMapStream, triangle PS_CUBEMAP_INT[3] )
{
...
}
Это фрагмент кода из примера CubeMapGS.
Методы объекта Stream-Output
Используйте следующий синтаксис для вызова методов stream-output-object.
Object.Method
Реализованы следующие методы.
Методы | Описание |
---|---|
Добавить | Добавление выходных данных в существующий поток. |
RestartStrip | Завершите текущую примитивную полосу и начните новую примитивную полосу. |
Минимальная модель шейдера
Этот объект поддерживается в следующих моделях шейдеров.
Модель шейдера | Поддерживается |
---|---|
Модели шейдеров 4 и более поздних версий шейдеров | да |
Связанные темы