mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
31 lines
1.0 KiB
Metal
31 lines
1.0 KiB
Metal
#include <metal_stdlib>
|
|
using namespace metal;
|
|
|
|
// Vertex input/output structure for passing results from vertex shader to fragment shader
|
|
struct VertexIO
|
|
{
|
|
float4 position [[position]];
|
|
float2 textureCoord [[user(texturecoord)]];
|
|
};
|
|
|
|
// Vertex shader for a textured quad
|
|
vertex VertexIO vertexPassThrough(const device packed_float4 *pPosition [[ buffer(0) ]],
|
|
const device packed_float2 *pTexCoords [[ buffer(1) ]],
|
|
uint vid [[ vertex_id ]])
|
|
{
|
|
VertexIO outVertex;
|
|
|
|
outVertex.position = pPosition[vid];
|
|
outVertex.textureCoord = pTexCoords[vid];
|
|
|
|
return outVertex;
|
|
}
|
|
|
|
// Fragment shader for a textured quad
|
|
fragment half4 fragmentPassThrough(VertexIO inputFragment [[ stage_in ]],
|
|
texture2d<half> inputTexture [[ texture(0) ]],
|
|
sampler samplr [[ sampler(0) ]])
|
|
{
|
|
return inputTexture.sample(samplr, inputFragment.textureCoord);
|
|
}
|