Add missing `tile_clip` shader to `resources`.

Closes #301.
This commit is contained in:
Patrick Walton 2020-04-22 09:13:42 -07:00
parent cd09177ead
commit a9003fe69b
5 changed files with 127 additions and 0 deletions

View File

@ -19,6 +19,8 @@ shaders/gl3/stencil.fs.glsl
shaders/gl3/stencil.vs.glsl
shaders/gl3/tile.fs.glsl
shaders/gl3/tile.vs.glsl
shaders/gl3/tile_clip.fs.glsl
shaders/gl3/tile_clip.vs.glsl
shaders/gl3/tile_copy.fs.glsl
shaders/gl3/tile_copy.vs.glsl
shaders/metal/blit.fs.metal

View File

@ -0,0 +1,29 @@
#version {{version}}
// Automatically generated from files in pathfinder/shaders/. Do not edit!
precision highp float;
precision highp sampler2D;
uniform sampler2D uSrc;
in vec2 vTexCoord;
in float vBackdrop;
out vec4 oFragColor;
void main(){
float alpha = clamp(abs(texture(uSrc, vTexCoord). r + vBackdrop), 0.0, 1.0);
oFragColor = vec4(alpha, 0.0, 0.0, 1.0);
}

View File

@ -0,0 +1,33 @@
#version {{version}}
// Automatically generated from files in pathfinder/shaders/. Do not edit!
precision highp float;
precision highp sampler2D;
in ivec2 aTileOffset;
in ivec2 aDestTileOrigin;
in ivec2 aSrcTileOrigin;
in int aSrcBackdrop;
out vec2 vTexCoord;
out float vBackdrop;
void main(){
vec2 destPosition = vec2(aDestTileOrigin + aTileOffset)/ vec2(256.0);
vec2 srcPosition = vec2(aSrcTileOrigin + aTileOffset)/ vec2(256.0);
vTexCoord = srcPosition;
vBackdrop = float(aSrcBackdrop);
gl_Position = vec4(mix(vec2(- 1.0), vec2(1.0), destPosition), 0.0, 1.0);
}

View File

@ -0,0 +1,31 @@
// Automatically generated from files in pathfinder/shaders/. Do not edit!
#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct spvDescriptorSetBuffer0
{
texture2d<float> uSrc [[id(0)]];
sampler uSrcSmplr [[id(1)]];
};
struct main0_out
{
float4 oFragColor [[color(0)]];
};
struct main0_in
{
float2 vTexCoord [[user(locn0)]];
float vBackdrop [[user(locn1)]];
};
fragment main0_out main0(main0_in in [[stage_in]], constant spvDescriptorSetBuffer0& spvDescriptorSet0 [[buffer(0)]])
{
main0_out out = {};
float alpha = fast::clamp(abs(spvDescriptorSet0.uSrc.sample(spvDescriptorSet0.uSrcSmplr, in.vTexCoord).x + in.vBackdrop), 0.0, 1.0);
out.oFragColor = float4(alpha, 0.0, 0.0, 1.0);
return out;
}

View File

@ -0,0 +1,32 @@
// Automatically generated from files in pathfinder/shaders/. Do not edit!
#include <metal_stdlib>
#include <simd/simd.h>
using namespace metal;
struct main0_out
{
float2 vTexCoord [[user(locn0)]];
float vBackdrop [[user(locn1)]];
float4 gl_Position [[position]];
};
struct main0_in
{
int2 aTileOffset [[attribute(0)]];
int2 aDestTileOrigin [[attribute(1)]];
int2 aSrcTileOrigin [[attribute(2)]];
int aSrcBackdrop [[attribute(3)]];
};
vertex main0_out main0(main0_in in [[stage_in]])
{
main0_out out = {};
float2 destPosition = float2(in.aDestTileOrigin + in.aTileOffset) / float2(256.0);
float2 srcPosition = float2(in.aSrcTileOrigin + in.aTileOffset) / float2(256.0);
out.vTexCoord = srcPosition;
out.vBackdrop = float(in.aSrcBackdrop);
out.gl_Position = float4(mix(float2(-1.0), float2(1.0), destPosition), 0.0, 1.0);
return out;
}