Objek Stream-Output

Objek stream-output adalah objek templat yang mengalirkan data dari tahap geometry-shader. Gunakan sintaks berikut untuk mendeklarasikan objek stream-output.

NamaDataType>Inout StreamOutputObject<;

 

Parameter

StreamOutputObject<Datatype>Nama

Deklarasi objek stream-output (SO).

Tipe Objek Stream-Output Deskripsi
PointStream Urutan primitif titik
LineStream Urutan primitif garis
SegitigaStream Urutan primitif segitiga

 

DataType - Jenis data output; dapat berupa jenis data HLSL apa pun. Harus dikelilingi oleh tanda kurung sudut.

Nama - Nama variabel; string ASCII yang mengidentifikasi objek secara unik.

Contoh

Ini adalah contoh deklarasi objek stream-output yang mengalirkan primitif segitiga yang datanya ditentukan oleh struktur PS_CUBEMAP_IN. Geometry-shader terbatas pada pembuatan 18 simpul.

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] )
{
    ...
}

Ini adalah cuplikan kode dari Sampel CubeMapGS.

Metode Objek Stream-Output

Gunakan sintaks berikut untuk memanggil metode stream-output-object.

Object.Method

Metode berikut diimplementasikan.

Metode Deskripsi
Append Tambahkan data output ke aliran yang ada.
RestartStrip Akhiri strip primitif saat ini dan mulai strip primitif baru.

 

Minimum Shader Model

Objek ini didukung dalam model shader berikut.

Shader Model Didukung
Model Shader 4 dan model shader yang lebih tinggi ya

 

Model Shader 4