22 lines
		
	
	
		
			616 B
		
	
	
	
		
			GLSL
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			616 B
		
	
	
	
		
			GLSL
		
	
	
	
| struct S {
 | |
|     float4 pos     : SV_Position;
 | |
|     float2 clip0   : SV_ClipDistance0;  // clip0 and clip1 form an array of float[4] externally.
 | |
|     float2 clip1   : SV_ClipDistance1;
 | |
| };
 | |
| 
 | |
| [maxvertexcount(3)]
 | |
| void main(triangle in float4 pos[3] : SV_Position, 
 | |
|           triangle in uint VertexID[3] : VertexID,
 | |
|           inout LineStream<S> OutputStream,
 | |
|           triangle in float2 clip0[3] : SV_ClipDistance0,  // test input arrayed semantic vars
 | |
|           triangle in float2 clip1[3] : SV_ClipDistance1)
 | |
| {
 | |
|     S s;
 | |
| 
 | |
|     s.pos = pos[0];
 | |
|     s.clip0 = clip0[0];
 | |
|     s.clip1 = clip1[0];
 | |
| 
 | |
|     OutputStream.Append(s);
 | |
| }
 |