Make decal mask work for Vulkan

This commit is contained in:
luboslenco
2020-10-24 23:36:14 +02:00
parent 921e31deda
commit df1f95faf5
3 changed files with 6 additions and 4 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ class MakeBrush {
if (Context.tool == ToolParticle) return;
var decal = Context.tool == ToolDecal || Context.tool == ToolText;
if (decal) frag.write('if (decalMask.z > 0) {');
if (decal) frag.write('if (decalMaskLocal.z > 0) {');
if (Config.raw.brush_3d) {
frag.write('vec4 inpLocal = inp;'); // TODO: spirv workaround
+2 -1
View File
@@ -73,7 +73,8 @@ class MakePaint {
if (decal) {
vert.add_uniform('vec2 sub', '_sub');
vert.add_uniform('vec4 decalMask', '_decalMask');
vert.write('if (decalMask.z > 0.0) subtex += sub;');
vert.write('vec4 decalMaskLocal = decalMask;'); // TODO: spirv workaround
vert.write('if (decalMaskLocal.z > 0.0) subtex += sub;');
}
}
+3 -2
View File
@@ -24,9 +24,10 @@ class MakeTexcoord {
}
else if (decal) {
frag.add_uniform('vec4 decalMask', '_decalMask');
frag.write_attrib('uvsp -= decalMask.xy;');
frag.write_attrib('vec4 decalMaskLocal = decalMask;'); // TODO: spirv workaround
frag.write_attrib('uvsp -= decalMaskLocal.xy;');
frag.write_attrib('uvsp.x *= aspectRatio;');
frag.write_attrib('uvsp *= 0.21 / (decalMask.w * 0.9);'); // Decal radius
frag.write_attrib('uvsp *= 0.21 / (decalMaskLocal.w * 0.9);'); // Decal radius
if (Context.brushDirectional) {
frag.add_uniform('vec3 brushDirection', '_brushDirection');