|
@@ -97,7 +97,7 @@ function make_paint_run(data: material_t, matcon: material_context_t): node_shad
|
|
|
node_shader_add_out(kong, "ndc: float4");
|
|
|
node_shader_write_attrib_vert(kong, "output.ndc = constants.WVP * float4(input.pos.xyz, 1.0);");
|
|
|
|
|
|
- node_shader_write_attrib_frag(kong, "var sp: float3 = float3((input.ndc.xyz / input.ndc.w) * 0.5 + 0.5);");
|
|
|
+ node_shader_write_attrib_frag(kong, "var sp: float3 = (input.ndc.xyz / input.ndc.w) * 0.5 + 0.5;");
|
|
|
node_shader_write_attrib_frag(kong, "sp.y = 1.0 - sp.y;");
|
|
|
node_shader_write_attrib_frag(kong, "sp.z -= 0.0001;"); // small bias
|
|
|
|
|
@@ -367,14 +367,16 @@ function make_paint_run(data: material_t, matcon: material_context_t): node_shad
|
|
|
if (context_raw.material.paint_emis && make_material_emis_used) {
|
|
|
node_shader_write_frag(kong, "if (emis > 0.0) {");
|
|
|
node_shader_write_frag(kong, " matid += 1.0 / 255.0;");
|
|
|
- node_shader_write_frag(kong, " if (str == 0.0) { discard; }");
|
|
|
+ // node_shader_write_frag(kong, " if (str == 0.0) { discard; }");
|
|
|
node_shader_write_frag(kong, "}");
|
|
|
+ node_shader_write_frag(kong, " if (emis > 0.0 && str == 0.0) { discard; }");
|
|
|
}
|
|
|
else if (context_raw.material.paint_subs && make_material_subs_used) {
|
|
|
node_shader_write_frag(kong, "if (subs > 0.0) {");
|
|
|
node_shader_write_frag(kong, " matid += 2.0 / 255.0;");
|
|
|
- node_shader_write_frag(kong, " if (str == 0.0) { discard; }");
|
|
|
+ // node_shader_write_frag(kong, " if (str == 0.0) { discard; }");
|
|
|
node_shader_write_frag(kong, "}");
|
|
|
+ node_shader_write_frag(kong, " if (subs > 0.0 && str == 0.0) { discard; }");
|
|
|
}
|
|
|
|
|
|
let is_mask: bool = slot_layer_is_mask(context_raw.layer);
|