547c29f7bb
I kept the code to replace constant zero arguments, because `Bias` and `Grad` still have some problems on desktop GPUs. `Bias` works on AMD GPUs. `Grad` does not. Both work on Intel. Still needs testing on NV. It will definitely work with Apple GPUs.
23 lines
570 B
GLSL
23 lines
570 B
GLSL
#include <metal_stdlib>
|
|
#include <simd/simd.h>
|
|
|
|
using namespace metal;
|
|
|
|
struct main0_out
|
|
{
|
|
float FragColor [[color(0)]];
|
|
};
|
|
|
|
struct main0_in
|
|
{
|
|
float4 vUV [[user(locn0)]];
|
|
};
|
|
|
|
fragment main0_out main0(main0_in in [[stage_in]], depth2d_array<float> uTex [[texture(0)]], sampler uShadow [[sampler(0)]])
|
|
{
|
|
main0_out out = {};
|
|
out.FragColor = uTex.sample_compare(uShadow, in.vUV.xy, uint(round(in.vUV.z)), in.vUV.w, level(0)) + uTex.sample_compare(uShadow, in.vUV.xy, uint(round(in.vUV.z)), in.vUV.w, gradient2d(float2(1.0), float2(1.0)));
|
|
return out;
|
|
}
|
|
|