기하 도형 셰이더 개체
기하 셰이더 개체는 전체 기본 형식을 처리합니다. 다음 구문을 사용하여 기하 도형 셰이더 개체를 선언합니다.
[maxvertexcount(NumVerts)] void ShaderName ( PrimitiveType DataType Name [ NumElements ], inout StreamOutputObject );
매개 변수
-
[maxvertexcount(NumVerts)]
-
[in] 만들 최대 꼭짓점 수에 대한 선언입니다.
- [maxvertexcount()] - 필수 키워드입니다. 대괄호와 괄호는 올바른 구문에 필요한 문자입니다.
- NumVerts - 정점 수를 나타내는 정수입니다.
-
ShaderName
-
[in] 기하 도형 셰이더 함수의 고유한 이름을 포함하는 ASCII 문자열입니다.
-
PrimitiveType 데이터 형식 이름 [ NumElements ]
-
PrimitiveType - 기본 데이터의 순서를 결정하는 기본 형식입니다.
기본 형식 설명 point 점 목록 line 줄 목록 또는 줄 스트립 삼각형 삼각형 목록 또는 삼각형 스트립 lineadj 인접이 있는 줄 목록 또는 인접이 있는 줄 스트립 triangleadj 인접이 있는 삼각형 목록 또는 인접이 있는 삼각형 스트립 DataType - [in] 입력 데이터 형식입니다. 모든 HLSL 데이터 형식이 될 수 있습니다.
Name - 인수 이름. ASCII 문자열입니다.
NumElements - 다음 표와 같이 PrimitiveType에 따라 달라지는 입력의 배열 크기입니다.
기본 형식 NumElements point [1]
한 번에 한 지점에서만 작업합니다.line [2]
선에는 두 개의 정점이 필요합니다.삼각형 [3]
삼각형에는 세 개의 정점이 필요합니다.lineadj [4]
lineadj에는 두 개의 끝이 있습니다. 따라서 4개의 정점이 필요합니다.triangleadj [6]
triangleadj는 세 개의 삼각형을 더 접합니다. 따라서 6개의 정점이 필요합니다. -
StreamOutputObject
-
스트림 출력 개체의 선언입니다.
반환 값
없음
설명
다음 다이어그램은 기하 도형 셰이더 개체의 다양한 기본 형식을 보여 줍니다.
다음 다이어그램은 기하 도형 셰이더 호출을 보여 줍니다.
예제
이 예는 Direct3D 10 셰이더 모델 4.0 워크샵의 연습 1에서 가져온 것입니다.
[maxvertexcount(3)]
void GSScene( triangleadj GSSceneIn input[6], inout TriangleStream<PSSceneIn> OutputStream )
{
PSSceneIn output = (PSSceneIn)0;
for( uint i=0; i<6; i+=2 )
{
output.Pos = input[i].Pos;
output.Norm = input[i].Norm;
output.Tex = input[i].Tex;
OutputStream.Append( output );
}
OutputStream.RestartStrip();
}
최소 셰이더 모델
이 개체는 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원됨 |
---|---|
셰이더 모델 4 이상의 셰이더 모델 | 예 |