Make decal mask work for Vulkan
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user