updated shader for better mixing of overlay
Some checks failed
book / deploy (push) Has been cancelled
CI / test (macos-latest) (push) Has been cancelled
CI / test (ubuntu-latest) (push) Has been cancelled
CI / test (windows-latest) (push) Has been cancelled
CI / all-doc-tests (push) Has been cancelled
CI / lint (push) Has been cancelled
Some checks failed
book / deploy (push) Has been cancelled
CI / test (macos-latest) (push) Has been cancelled
CI / test (ubuntu-latest) (push) Has been cancelled
CI / test (windows-latest) (push) Has been cancelled
CI / all-doc-tests (push) Has been cancelled
CI / lint (push) Has been cancelled
This commit is contained in:
@@ -20,21 +20,12 @@ fn fragment(
|
|||||||
@builtin(front_facing) is_front: bool,
|
@builtin(front_facing) is_front: bool,
|
||||||
) -> FragmentOutput {
|
) -> FragmentOutput {
|
||||||
var out: FragmentOutput;
|
var out: FragmentOutput;
|
||||||
var pbr_input = pbr_input_from_standard_material(in, is_front);
|
|
||||||
|
|
||||||
// var alpha = pbr_input.material.base_color.a;
|
var surface = surface_color(in.uv);
|
||||||
|
var overlay = overlay_color(in.uv);
|
||||||
|
var result_rgb = mix(surface.rgb, overlay.rgb, overlay.a);
|
||||||
|
|
||||||
if overlay_color(in.uv).a > 0.0 {
|
out.color = vec4(result_rgb, 1.0);
|
||||||
pbr_input.material.base_color *= surface_color(in.uv);
|
|
||||||
pbr_input.material.base_color *= overlay_color(in.uv);
|
|
||||||
} else {
|
|
||||||
pbr_input.material.base_color *= surface_color(in.uv);
|
|
||||||
}
|
|
||||||
|
|
||||||
pbr_input.material.base_color = alpha_discard(pbr_input.material, pbr_input.material.base_color);
|
|
||||||
|
|
||||||
out.color = pbr_input.material.base_color;
|
|
||||||
// out.color.a *= alpha;
|
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user