| struct VS_OUTPUT { | |
| float4 Position : SV_Position; | |
| float3 clip0 : SV_ClipDistance0; // multiple semantic IDs, vec3+float (pack) | |
| float clip1 : SV_ClipDistance1; // ... | |
| }; | |
| VS_OUTPUT main() | |
| { | |
| VS_OUTPUT Output; | |
| Output.Position = 0; | |
| Output.clip0.x = 0; | |
| Output.clip0.y = 1; | |
| Output.clip0.z = 2; | |
| // Position 3 is packed from clip1's float | |
| Output.clip1 = 3; | |
| return Output; | |
| } |