스트림 출력 개체

스트림 출력 개체는 기하 도형 셰이더 단계에서 데이터를 스트림하는 템플릿 기반 개체입니다. 다음 구문을 사용하여 스트림 출력 개체를 선언합니다.

inout StreamOutputObject<DataType>Name;

 

매개 변수

StreamOutputObject<DataType>Name

SO(스트림 출력) 개체 선언입니다.

스트림 출력 개체 형식 설명
PointStream 점 기본 형식의 시퀀스
LineStream 선 기본 형식의 시퀀스
TriangleStream 삼각형 기본 형식의 시퀀스

 

DataType - 출력 데이터 형식. 모든 HLSL 데이터 형식일 수 있습니다. 꺾쇠 괄호로 묶어야 합니다.

이름 - 변수 이름. 개체를 고유하게 식별하는 ASCII 문자열입니다.

데이터가 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-object 메서드를 호출합니다.

Object.Method

구현되는 메서드는 다음과 같습니다.

메서드 설명
Append 기존 스트림에 출력 데이터를 추가합니다.
RestartStrip 현재 기본 스트립을 종료하고 새 기본 스트립을 시작합니다.

 

최소 셰이더 모델

이 개체는 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원됨
셰이더 모델 4 이상의 셰이더 모델

 

셰이더 모델 4