This commit is contained in:
Ryan Oldenburg 2021-01-28 22:39:28 -06:00
parent 01fd4eed6d
commit 8aab927127
2 changed files with 240 additions and 240 deletions

View file

@ -124,18 +124,18 @@ proc `-`*(c: Color, v: float32): Color {.inline.} =
result.b = c.b - v result.b = c.b - v
result.a = c.a - v result.a = c.a - v
proc screen(backdrop, source: float32): float32 {.inline.} = # proc screen(backdrop, source: float32): float32 {.inline.} =
1 - (1 - backdrop) * (1 - source) # 1 - (1 - backdrop) * (1 - source)
proc hardLight(backdrop, source: float32): float32 {.inline.} = # proc hardLight(backdrop, source: float32): float32 {.inline.} =
if source <= 0.5: # if source <= 0.5:
backdrop * 2 * source # backdrop * 2 * source
else: # else:
screen(backdrop, 2 * source - 1) # screen(backdrop, 2 * source - 1)
proc softLight(backdrop, source: float32): float32 {.inline.} = # proc softLight(backdrop, source: float32): float32 {.inline.} =
## Pegtop # ## Pegtop
(1 - 2 * source) * backdrop ^ 2 + 2 * source * backdrop # (1 - 2 * source) * backdrop ^ 2 + 2 * source * backdrop
proc Lum(C: Color): float32 {.inline.} = proc Lum(C: Color): float32 {.inline.} =
0.3 * C.r + 0.59 * C.g + 0.11 * C.b 0.3 * C.r + 0.59 * C.g + 0.11 * C.b
@ -183,103 +183,103 @@ proc alphaFix(backdrop, source, mixed: Color): Color =
result.g /= result.a result.g /= result.a
result.b /= result.a result.b /= result.a
proc blendNormalFloats*(backdrop, source: Color): Color {.inline.} = # proc blendNormalFloats*(backdrop, source: Color): Color {.inline.} =
result = source # result = source
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendDarkenFloats*(backdrop, source: Color): Color {.inline.} = # proc blendDarkenFloats*(backdrop, source: Color): Color {.inline.} =
result.r = min(backdrop.r, source.r) # result.r = min(backdrop.r, source.r)
result.g = min(backdrop.g, source.g) # result.g = min(backdrop.g, source.g)
result.b = min(backdrop.b, source.b) # result.b = min(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendMultiplyFloats*(backdrop, source: Color): Color {.inline.} = # proc blendMultiplyFloats*(backdrop, source: Color): Color {.inline.} =
result.r = backdrop.r * source.r # result.r = backdrop.r * source.r
result.g = backdrop.g * source.g # result.g = backdrop.g * source.g
result.b = backdrop.b * source.b # result.b = backdrop.b * source.b
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendLinearBurnFloats*(backdrop, source: Color): Color {.inline.} = # proc blendLinearBurnFloats*(backdrop, source: Color): Color {.inline.} =
result.r = backdrop.r + source.r - 1 # result.r = backdrop.r + source.r - 1
result.g = backdrop.g + source.g - 1 # result.g = backdrop.g + source.g - 1
result.b = backdrop.b + source.b - 1 # result.b = backdrop.b + source.b - 1
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendColorBurnFloats*(backdrop, source: Color): Color {.inline.} = # proc blendColorBurnFloats*(backdrop, source: Color): Color {.inline.} =
proc blend(backdrop, source: float32): float32 {.inline.} = # proc blend(backdrop, source: float32): float32 {.inline.} =
if backdrop == 1: # if backdrop == 1:
1.0 # 1.0
elif source == 0: # elif source == 0:
0.0 # 0.0
else: # else:
1.0 - min(1, (1 - backdrop) / source) # 1.0 - min(1, (1 - backdrop) / source)
result.r = blend(backdrop.r, source.r) # result.r = blend(backdrop.r, source.r)
result.g = blend(backdrop.g, source.g) # result.g = blend(backdrop.g, source.g)
result.b = blend(backdrop.b, source.b) # result.b = blend(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendLightenFloats*(backdrop, source: Color): Color {.inline.} = # proc blendLightenFloats*(backdrop, source: Color): Color {.inline.} =
result.r = max(backdrop.r, source.r) # result.r = max(backdrop.r, source.r)
result.g = max(backdrop.g, source.g) # result.g = max(backdrop.g, source.g)
result.b = max(backdrop.b, source.b) # result.b = max(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendScreenFloats*(backdrop, source: Color): Color {.inline.} = # proc blendScreenFloats*(backdrop, source: Color): Color {.inline.} =
result.r = screen(backdrop.r, source.r) # result.r = screen(backdrop.r, source.r)
result.g = screen(backdrop.g, source.g) # result.g = screen(backdrop.g, source.g)
result.b = screen(backdrop.b, source.b) # result.b = screen(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendLinearDodgeFloats*(backdrop, source: Color): Color {.inline.} = # proc blendLinearDodgeFloats*(backdrop, source: Color): Color {.inline.} =
result.r = backdrop.r + source.r # result.r = backdrop.r + source.r
result.g = backdrop.g + source.g # result.g = backdrop.g + source.g
result.b = backdrop.b + source.b # result.b = backdrop.b + source.b
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendColorDodgeFloats*(backdrop, source: Color): Color {.inline.} = # proc blendColorDodgeFloats*(backdrop, source: Color): Color {.inline.} =
proc blend(backdrop, source: float32): float32 {.inline.} = # proc blend(backdrop, source: float32): float32 {.inline.} =
if backdrop == 0: # if backdrop == 0:
0.0 # 0.0
elif source == 1: # elif source == 1:
1.0 # 1.0
else: # else:
min(1, backdrop / (1 - source)) # min(1, backdrop / (1 - source))
result.r = blend(backdrop.r, source.r) # result.r = blend(backdrop.r, source.r)
result.g = blend(backdrop.g, source.g) # result.g = blend(backdrop.g, source.g)
result.b = blend(backdrop.b, source.b) # result.b = blend(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendOverlayFloats*(backdrop, source: Color): Color {.inline.} = # proc blendOverlayFloats*(backdrop, source: Color): Color {.inline.} =
result.r = hardLight(source.r, backdrop.r) # result.r = hardLight(source.r, backdrop.r)
result.g = hardLight(source.g, backdrop.g) # result.g = hardLight(source.g, backdrop.g)
result.b = hardLight(source.b, backdrop.b) # result.b = hardLight(source.b, backdrop.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendHardLightFloats*(backdrop, source: Color): Color {.inline.} = # proc blendHardLightFloats*(backdrop, source: Color): Color {.inline.} =
result.r = hardLight(backdrop.r, source.r) # result.r = hardLight(backdrop.r, source.r)
result.g = hardLight(backdrop.g, source.g) # result.g = hardLight(backdrop.g, source.g)
result.b = hardLight(backdrop.b, source.b) # result.b = hardLight(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendSoftLightFloats*(backdrop, source: Color): Color {.inline.} = # proc blendSoftLightFloats*(backdrop, source: Color): Color {.inline.} =
result.r = softLight(backdrop.r, source.r) # result.r = softLight(backdrop.r, source.r)
result.g = softLight(backdrop.g, source.g) # result.g = softLight(backdrop.g, source.g)
result.b = softLight(backdrop.b, source.b) # result.b = softLight(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendDifferenceFloats*(backdrop, source: Color): Color {.inline.} = # proc blendDifferenceFloats*(backdrop, source: Color): Color {.inline.} =
result.r = abs(backdrop.r - source.r) # result.r = abs(backdrop.r - source.r)
result.g = abs(backdrop.g - source.g) # result.g = abs(backdrop.g - source.g)
result.b = abs(backdrop.b - source.b) # result.b = abs(backdrop.b - source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendExclusionFloats*(backdrop, source: Color): Color {.inline.} = # proc blendExclusionFloats*(backdrop, source: Color): Color {.inline.} =
proc blend(backdrop, source: float32): float32 {.inline.} = # proc blend(backdrop, source: float32): float32 {.inline.} =
backdrop + source - 2 * backdrop * source # backdrop + source - 2 * backdrop * source
result.r = blend(backdrop.r, source.r) # result.r = blend(backdrop.r, source.r)
result.g = blend(backdrop.g, source.g) # result.g = blend(backdrop.g, source.g)
result.b = blend(backdrop.b, source.b) # result.b = blend(backdrop.b, source.b)
result = alphaFix(backdrop, source, result) # result = alphaFix(backdrop, source, result)
proc blendColorFloats*(backdrop, source: Color): Color {.inline.} = proc blendColorFloats*(backdrop, source: Color): Color {.inline.} =
result = SetLum(source, Lum(backdrop)) result = SetLum(source, Lum(backdrop))
@ -297,24 +297,24 @@ proc blendSaturationFloats*(backdrop, source: Color): Color {.inline.} =
result = SetLum(SetSat(backdrop, Sat(source)), Lum(backdrop)) result = SetLum(SetSat(backdrop, Sat(source)), Lum(backdrop))
result = alphaFix(backdrop, source, result) result = alphaFix(backdrop, source, result)
proc blendMaskFloats*(backdrop, source: Color): Color {.inline.} = # proc blendMaskFloats*(backdrop, source: Color): Color {.inline.} =
result = backdrop # result = backdrop
result.a = min(backdrop.a, source.a) # result.a = min(backdrop.a, source.a)
proc blendSubtractMaskFloats*(backdrop, source: Color): Color {.inline.} = # proc blendSubtractMaskFloats*(backdrop, source: Color): Color {.inline.} =
result = backdrop # result = backdrop
result.a = backdrop.a * (1 - source.a) # result.a = backdrop.a * (1 - source.a)
proc blendIntersectMaskFloats*(backdrop, source: Color): Color {.inline.} = # proc blendIntersectMaskFloats*(backdrop, source: Color): Color {.inline.} =
result = backdrop # result = backdrop
result.a = backdrop.a * source.a # result.a = backdrop.a * source.a
proc blendExcludeMaskFloats*(backdrop, source: Color): Color {.inline.} = # proc blendExcludeMaskFloats*(backdrop, source: Color): Color {.inline.} =
result = backdrop # result = backdrop
result.a = abs(backdrop.a - source.a) # result.a = abs(backdrop.a - source.a)
proc blendOverwriteFloats*(backdrop, source: Color): Color {.inline.} = # proc blendOverwriteFloats*(backdrop, source: Color): Color {.inline.} =
source # source
when defined(amd64) and not defined(pixieNoSimd): when defined(amd64) and not defined(pixieNoSimd):
proc alphaFix(backdrop, source: ColorRGBA, vb, vs, vm: M128): ColorRGBA = proc alphaFix(backdrop, source: ColorRGBA, vb, vs, vm: M128): ColorRGBA =

View file

@ -1,4 +1,4 @@
import benchy, chroma, vmath, pixie/images import benchy, chroma, pixie/images
include pixie/blends include pixie/blends
@ -18,13 +18,13 @@ timeIt "blendNormal":
reset() reset()
timeIt "blendNormalFloats": # timeIt "blendNormalFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendNormalFloats( # backdrop.data[i] = blendNormalFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendDarken": timeIt "blendDarken":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -32,13 +32,13 @@ timeIt "blendDarken":
reset() reset()
timeIt "blendDarkenFloats": # timeIt "blendDarkenFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDarkenFloats( # backdrop.data[i] = blendDarkenFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendMultiply": timeIt "blendMultiply":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -46,13 +46,13 @@ timeIt "blendMultiply":
reset() reset()
timeIt "blendMultiplyFloats": # timeIt "blendMultiplyFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMultiplyFloats( # backdrop.data[i] = blendMultiplyFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendLinearBurn": timeIt "blendLinearBurn":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -60,13 +60,13 @@ timeIt "blendLinearBurn":
reset() reset()
timeIt "blendLinearBurnFloats": # timeIt "blendLinearBurnFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearBurnFloats( # backdrop.data[i] = blendLinearBurnFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendColorBurn": timeIt "blendColorBurn":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -74,13 +74,13 @@ timeIt "blendColorBurn":
reset() reset()
timeIt "blendColorBurnFloats": # timeIt "blendColorBurnFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorBurnFloats( # backdrop.data[i] = blendColorBurnFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendLighten": timeIt "blendLighten":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -88,13 +88,13 @@ timeIt "blendLighten":
reset() reset()
timeIt "blendLightenFloats": # timeIt "blendLightenFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLightenFloats( # backdrop.data[i] = blendLightenFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendScreen": timeIt "blendScreen":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -102,13 +102,13 @@ timeIt "blendScreen":
reset() reset()
timeIt "blendScreenFloats": # timeIt "blendScreenFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendScreenFloats( # backdrop.data[i] = blendScreenFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendLinearDodge": timeIt "blendLinearDodge":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -116,13 +116,13 @@ timeIt "blendLinearDodge":
reset() reset()
timeIt "blendLinearDodgeFloats": # timeIt "blendLinearDodgeFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearDodgeFloats( # backdrop.data[i] = blendLinearDodgeFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendColorDodge": timeIt "blendColorDodge":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -130,13 +130,13 @@ timeIt "blendColorDodge":
reset() reset()
timeIt "blendColorDodgeFloats": # timeIt "blendColorDodgeFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorDodgeFloats( # backdrop.data[i] = blendColorDodgeFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendOverlay": timeIt "blendOverlay":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -144,13 +144,13 @@ timeIt "blendOverlay":
reset() reset()
timeIt "blendOverlayFloats": # timeIt "blendOverlayFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendOverlayFloats( # backdrop.data[i] = blendOverlayFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendSoftLight": timeIt "blendSoftLight":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -158,13 +158,13 @@ timeIt "blendSoftLight":
reset() reset()
timeIt "blendSoftLightFloats": # timeIt "blendSoftLightFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSoftLightFloats( # backdrop.data[i] = blendSoftLightFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendHardLight": timeIt "blendHardLight":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -172,13 +172,13 @@ timeIt "blendHardLight":
reset() reset()
timeIt "blendHardLightFloats": # timeIt "blendHardLightFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHardLightFloats( # backdrop.data[i] = blendHardLightFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendDifference": timeIt "blendDifference":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -186,13 +186,13 @@ timeIt "blendDifference":
reset() reset()
timeIt "blendDifferenceFloats": # timeIt "blendDifferenceFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDifferenceFloats( # backdrop.data[i] = blendDifferenceFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendExclusion": timeIt "blendExclusion":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -200,13 +200,13 @@ timeIt "blendExclusion":
reset() reset()
timeIt "blendExclusionFloats": # timeIt "blendExclusionFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExclusionFloats( # backdrop.data[i] = blendExclusionFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendHue": timeIt "blendHue":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -214,13 +214,13 @@ timeIt "blendHue":
reset() reset()
timeIt "blendHueFloats": # timeIt "blendHueFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHueFloats( # backdrop.data[i] = blendHueFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendSaturation": timeIt "blendSaturation":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -228,11 +228,11 @@ timeIt "blendSaturation":
reset() reset()
timeIt "blendSaturationFloats": # timeIt "blendSaturationFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSaturationFloats( # backdrop.data[i] = blendSaturationFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() reset()
@ -242,13 +242,13 @@ timeIt "blendColor":
reset() reset()
timeIt "blendColorFloats": # timeIt "blendColorFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorFloats( # backdrop.data[i] = blendColorFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendLuminosity": timeIt "blendLuminosity":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -256,13 +256,13 @@ timeIt "blendLuminosity":
reset() reset()
timeIt "blendLuminosityFloats": # timeIt "blendLuminosityFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLuminosityFloats( # backdrop.data[i] = blendLuminosityFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendMask": timeIt "blendMask":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -270,13 +270,13 @@ timeIt "blendMask":
reset() reset()
timeIt "blendMaskFloats": # timeIt "blendMaskFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMaskFloats( # backdrop.data[i] = blendMaskFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendSubtractMask": timeIt "blendSubtractMask":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -284,13 +284,13 @@ timeIt "blendSubtractMask":
reset() reset()
timeIt "blendSubtractMaskFloats": # timeIt "blendSubtractMaskFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSubtractMaskFloats( # backdrop.data[i] = blendSubtractMaskFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendIntersectMask": timeIt "blendIntersectMask":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -298,13 +298,13 @@ timeIt "blendIntersectMask":
reset() reset()
timeIt "blendIntersectMaskFloats": # timeIt "blendIntersectMaskFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendIntersectMaskFloats( # backdrop.data[i] = blendIntersectMaskFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendExcludeMask": timeIt "blendExcludeMask":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len:
@ -312,13 +312,13 @@ timeIt "blendExcludeMask":
reset() reset()
timeIt "blendExcludeMaskFloats": # timeIt "blendExcludeMaskFloats":
for i in 0 ..< backdrop.data.len: # for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExcludeMaskFloats( # backdrop.data[i] = blendExcludeMaskFloats(
backdrop.data[i].color, source.data[i].color # backdrop.data[i].color, source.data[i].color
).rgba # ).rgba
reset() # reset()
timeIt "blendNormalPremultiplied": timeIt "blendNormalPremultiplied":
for i in 0 ..< backdrop.data.len: for i in 0 ..< backdrop.data.len: