mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 07:17:42 -05:00
Merge commit godotengine/godot@4ebf67c
This commit is contained in:
@@ -66,6 +66,7 @@ Ref<Material> Material::get_next_pass() const {
|
||||
void Material::set_render_priority(int p_priority) {
|
||||
ERR_FAIL_COND(p_priority < RENDER_PRIORITY_MIN);
|
||||
ERR_FAIL_COND(p_priority > RENDER_PRIORITY_MAX);
|
||||
|
||||
render_priority = p_priority;
|
||||
|
||||
if (material.is_valid()) {
|
||||
@@ -1640,7 +1641,7 @@ void fragment() {)";
|
||||
float px_size = max(0.5 * dot(msdf_size, dest_size), 1.0);
|
||||
float d = msdf_median(albedo_tex.r, albedo_tex.g, albedo_tex.b);
|
||||
if (msdf_outline_size > 0.0) {
|
||||
float cr = clamp(msdf_outline_size, 0.0, msdf_pixel_range / 2.0) / msdf_pixel_range;
|
||||
float cr = clamp(msdf_outline_size, 0.0, (msdf_pixel_range / 2.0) - 1.0) / msdf_pixel_range;
|
||||
d = min(d, albedo_tex.a);
|
||||
albedo_tex.a = clamp((d - 0.5 + cr) * px_size + 0.5, 0.0, 1.0);
|
||||
} else {
|
||||
@@ -3222,6 +3223,11 @@ void BaseMaterial3D::set_stencil_mode(StencilMode p_stencil_mode) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (p_stencil_mode == StencilMode::STENCIL_MODE_OUTLINE || p_stencil_mode == StencilMode::STENCIL_MODE_XRAY) {
|
||||
ERR_FAIL_COND_EDMSG(get_render_priority() >= RENDER_PRIORITY_MAX,
|
||||
vformat("Cannot use stencil mode Outline or Xray, when render priority is RENDER_PRIORITY_MAX(%d).", RENDER_PRIORITY_MAX));
|
||||
}
|
||||
|
||||
stencil_mode = p_stencil_mode;
|
||||
_prepare_stencil_effect();
|
||||
_queue_shader_change();
|
||||
|
||||
Reference in New Issue
Block a user