1struct VS_OUTPUT        {
2    float4 Position             : SV_Position;
3    float3 clip0                : SV_ClipDistance0;  // multiple semantic IDs, vec3+float (pack)
4    float  clip1                : SV_ClipDistance1;  // ...
5};
6
7VS_OUTPUT main()
8{
9    VS_OUTPUT           Output;
10    Output.Position     = 0;
11
12    Output.clip0.x = 0;
13    Output.clip0.y = 1;
14    Output.clip0.z = 2;
15
16    // Position 3 is packed from clip1's float
17    Output.clip1   = 3;
18
19    return Output;
20}
21