mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-10 14:41:50 +00:00
wg_engine: clenup shader sources
Remove unused composition/blending shader sources
This commit is contained in:
parent
db8ccefbcc
commit
8f3b822f18
2 changed files with 0 additions and 387 deletions
|
@ -335,379 +335,6 @@ fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
||||||
};
|
};
|
||||||
)";
|
)";
|
||||||
|
|
||||||
//************************************************************************
|
|
||||||
// cShaderSource_PipelineBlit
|
|
||||||
//************************************************************************
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineBlit = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var<uniform> uOpacity : f32;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let color: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
return vec4f(color.rgb, uOpacity);
|
|
||||||
//return vec4f(color.rgb, 0.5);
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
//************************************************************************
|
|
||||||
// cShaderSource_PipelineBlitColor
|
|
||||||
//************************************************************************
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineBlitColor = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let color: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
return vec4f(color.rgb, 1.0);
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
//************************************************************************
|
|
||||||
// cShaderSource_PipelineCompAlphaMask
|
|
||||||
//************************************************************************
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompAlphaMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
return vec4f(colorSrc.rgb, colorSrc.a * colorMsk.a);
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompInvAlphaMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
return vec4f(colorSrc.rgb, colorSrc.a * (1.0 - colorMsk.a));
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompLumaMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
let luma: f32 = (0.299 * colorMsk.r + 0.587 * colorMsk.g + 0.114 * colorMsk.b);
|
|
||||||
return colorSrc * luma;
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompInvLumaMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
let luma: f32 = (0.299 * colorMsk.r + 0.587 * colorMsk.g + 0.114 * colorMsk.b);
|
|
||||||
return colorSrc * (1.0 - luma);
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompAddMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
let color: vec4f = colorSrc + colorMsk * (1.0 - colorSrc.a);
|
|
||||||
return min(color, vec4f(1.0));
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompSubtractMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
|
|
||||||
let a: f32 = colorSrc.a - colorMsk.a;
|
|
||||||
if (a <= 0.0) {
|
|
||||||
return vec4f(0.0, 0.0, 0.0, 0.0);
|
|
||||||
} else {
|
|
||||||
return vec4f(colorSrc.rgb, colorSrc.a * a);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompIntersectMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
let intAlpha: f32 = colorSrc.a * colorMsk.a;
|
|
||||||
return vec4f(colorMsk.rgb, colorMsk.a * intAlpha);
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
const char* cShaderSource_PipelineCompDifferenceMask = R"(
|
|
||||||
// vertex input
|
|
||||||
struct VertexInput {
|
|
||||||
@location(0) position: vec2f,
|
|
||||||
@location(1) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
// vertex output
|
|
||||||
struct VertexOutput {
|
|
||||||
@builtin(position) position: vec4f,
|
|
||||||
@location(0) texCoord: vec2f
|
|
||||||
};
|
|
||||||
|
|
||||||
@group(0) @binding(0) var uSamplerSrc : sampler;
|
|
||||||
@group(0) @binding(1) var uTextureViewSrc : texture_2d<f32>;
|
|
||||||
@group(1) @binding(0) var uSamplerMsk : sampler;
|
|
||||||
@group(1) @binding(1) var uTextureViewMsk : texture_2d<f32>;
|
|
||||||
|
|
||||||
@vertex
|
|
||||||
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
||||||
// fill output
|
|
||||||
var out: VertexOutput;
|
|
||||||
out.position = vec4f(in.position.xy, 0.0, 1.0);
|
|
||||||
out.texCoord = in.texCoord;
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
@fragment
|
|
||||||
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
|
|
||||||
let colorSrc: vec4f = textureSample(uTextureViewSrc, uSamplerSrc, in.texCoord.xy);
|
|
||||||
let colorMsk: vec4f = textureSample(uTextureViewMsk, uSamplerMsk, in.texCoord.xy);
|
|
||||||
let da: f32 = colorSrc.a - colorMsk.a;
|
|
||||||
if (da > 0.0) {
|
|
||||||
return vec4f(colorSrc.rgb, colorSrc.a * da);
|
|
||||||
} else {
|
|
||||||
return vec4f(colorMsk.rgb, colorMsk.a * (-da));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
)";
|
|
||||||
|
|
||||||
//************************************************************************
|
//************************************************************************
|
||||||
// cShaderSource_PipelineComputeBlend
|
// cShaderSource_PipelineComputeBlend
|
||||||
//************************************************************************
|
//************************************************************************
|
||||||
|
|
|
@ -36,20 +36,6 @@ extern const char* cShaderSource_PipelineLinear;
|
||||||
extern const char* cShaderSource_PipelineRadial;
|
extern const char* cShaderSource_PipelineRadial;
|
||||||
extern const char* cShaderSource_PipelineImage;
|
extern const char* cShaderSource_PipelineImage;
|
||||||
|
|
||||||
// pipeline shader modules blit
|
|
||||||
extern const char* cShaderSource_PipelineBlit;
|
|
||||||
extern const char* cShaderSource_PipelineBlitColor;
|
|
||||||
|
|
||||||
// pipeline shader modules composes
|
|
||||||
extern const char* cShaderSource_PipelineCompAlphaMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompInvAlphaMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompLumaMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompInvLumaMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompAddMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompSubtractMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompIntersectMask;
|
|
||||||
extern const char* cShaderSource_PipelineCompDifferenceMask;
|
|
||||||
|
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
// compute shader modules
|
// compute shader modules
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
|
Loading…
Add table
Reference in a new issue