mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 10:16:02 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			633 B
		
	
	
	
		
			Metal
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			633 B
		
	
	
	
		
			Metal
		
	
	
	
	
	
#include <metal_stdlib>
 | 
						|
using namespace metal;
 | 
						|
 | 
						|
struct VSOutput
 | 
						|
{
 | 
						|
    float4 color [[user(locn0)]];
 | 
						|
    float4 position [[position]];
 | 
						|
};
 | 
						|
 | 
						|
#ifdef VERTEX
 | 
						|
 | 
						|
struct UBO
 | 
						|
{
 | 
						|
    float4x4 modelViewProj;
 | 
						|
};
 | 
						|
 | 
						|
struct VSInput
 | 
						|
{
 | 
						|
    float3 position [[attribute(0)]];
 | 
						|
    float3 color [[attribute(1)]];
 | 
						|
};
 | 
						|
 | 
						|
vertex VSOutput vs_main(VSInput input [[stage_in]], constant UBO& ubo [[buffer(0)]])
 | 
						|
{
 | 
						|
    VSOutput output;
 | 
						|
    output.color = float4(input.color, 1.0);
 | 
						|
    output.position = ubo.modelViewProj * float4(input.position, 1.0);
 | 
						|
    return output;
 | 
						|
}
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
fragment float4 fs_main(VSOutput input [[stage_in]])
 | 
						|
{
 | 
						|
    return input.color;
 | 
						|
}
 | 
						|
 | 
						|
#endif |