107 lines
2.2 KiB
Nim
107 lines
2.2 KiB
Nim
import benchy, chroma, pixie, vmath
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(50, 50)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw small-on-big bmNormal":
|
|
a.draw(b, translate(vec2(25, 25)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(50, 50)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw small-on-big Smooth bmNormal":
|
|
a.draw(b, translate(vec2(25.2, 25.2)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw big-on-bigger bmNormal":
|
|
a.draw(b, translate(vec2(25, 25)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw [scale 0.5]":
|
|
a.draw(b, translate(vec2(25, 25)) * scale(vec2(0.5, 0.5)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw Smooth [x translate]":
|
|
a.draw(b, translate(vec2(25.2, 0)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw Smooth [y translate]":
|
|
a.draw(b, translate(vec2(0, 25.2)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw Smooth [x + y translate]":
|
|
a.draw(b, translate(vec2(25.2, 25.2)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(1000, 1000)
|
|
b = newImage(500, 500)
|
|
a.fill(rgba(255, 0, 0, 255))
|
|
b.fill(rgba(0, 255, 0, 255))
|
|
|
|
timeIt "draw Smooth [rotate 45 deg]":
|
|
a.draw(b, translate(vec2(0, 500)) * rotate(toRadians(45)), bmNormal)
|
|
keep(b)
|
|
|
|
block:
|
|
let
|
|
a = newImage(100, 100)
|
|
b = newImage(50, 50)
|
|
|
|
timeIt "shadow":
|
|
b.fill(rgba(0, 0, 0, 255))
|
|
a.draw(b, translate(vec2(25, 25)))
|
|
|
|
let shadow = a.shadow(
|
|
offset = vec2(0, 0),
|
|
spread = 10,
|
|
blur = 10,
|
|
color = rgba(0, 0, 0, 255)
|
|
)
|
|
keep(shadow)
|