parent
cd09177ead
commit
a9003fe69b
|
@ -19,6 +19,8 @@ shaders/gl3/stencil.fs.glsl
|
||||||
shaders/gl3/stencil.vs.glsl
|
shaders/gl3/stencil.vs.glsl
|
||||||
shaders/gl3/tile.fs.glsl
|
shaders/gl3/tile.fs.glsl
|
||||||
shaders/gl3/tile.vs.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.fs.glsl
|
||||||
shaders/gl3/tile_copy.vs.glsl
|
shaders/gl3/tile_copy.vs.glsl
|
||||||
shaders/metal/blit.fs.metal
|
shaders/metal/blit.fs.metal
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue