2022-06-17 22:39:48 +00:00
|
|
|
import benchy, chroma, pixie/blends, pixie/images, vmath
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2020-12-09 07:25:48 +00:00
|
|
|
let
|
2022-07-23 22:35:16 +00:00
|
|
|
backdrop = newImage(256, 256)
|
|
|
|
source = newImage(256, 256)
|
2021-01-23 04:54:57 +00:00
|
|
|
source.fill(rgba(100, 100, 100, 100))
|
|
|
|
|
|
|
|
template reset() =
|
|
|
|
backdrop.fill(rgba(0, 0, 0, 255))
|
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
|
|
|
timeIt "blendNormal":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
|
|
|
backdrop.data[i] = blendNormal(backdrop.data[i], source.data[i])
|
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
|
|
|
timeIt "blendDarken":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
|
|
|
backdrop.data[i] = blendDarken(backdrop.data[i], source.data[i])
|
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendMultiply":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendMultiply(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-10-03 22:49:21 +00:00
|
|
|
# reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-10-03 22:49:21 +00:00
|
|
|
# timeIt "blendLinearBurn":
|
|
|
|
# for i in 0 ..< backdrop.data.len:
|
|
|
|
# backdrop.data[i] = blendLinearBurn(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendColorBurn":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendColorBurn(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendLighten":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendLighten(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendScreen":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendScreen(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-10-03 22:49:21 +00:00
|
|
|
# reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-10-03 22:49:21 +00:00
|
|
|
# timeIt "blendLinearDodge":
|
|
|
|
# for i in 0 ..< backdrop.data.len:
|
|
|
|
# backdrop.data[i] = blendLinearDodge(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendColorDodge":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendColorDodge(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendOverlay":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendOverlay(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendSoftLight":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendSoftLight(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendHardLight":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendHardLight(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendDifference":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendDifference(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendExclusion":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendExclusion(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendHue":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendHue(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendSaturation":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendSaturation(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendColor":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendColor(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendLuminosity":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendLuminosity(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendMask":
|
2021-01-30 22:25:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendMask(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
2021-01-30 22:25:57 +00:00
|
|
|
reset()
|
2020-12-09 13:47:58 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendSubtractMask":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendSubtractMask(backdrop.data[i], source.data[i])
|
2021-01-23 04:54:57 +00:00
|
|
|
|
|
|
|
reset()
|
2020-12-09 08:04:01 +00:00
|
|
|
|
2021-02-10 05:32:13 +00:00
|
|
|
timeIt "blendExcludeMask":
|
2021-01-23 04:54:57 +00:00
|
|
|
for i in 0 ..< backdrop.data.len:
|
2021-02-10 05:32:13 +00:00
|
|
|
backdrop.data[i] = blendExcludeMask(backdrop.data[i], source.data[i])
|