Files
cell/tests/bunnymark.js
John Alanbrook 600fbfd3b7
Some checks failed
Build and Deploy / package-dist (push) Has been cancelled
Build and Deploy / build-linux (push) Has been cancelled
Build and Deploy / deploy-itch (push) Has been cancelled
Build and Deploy / deploy-gitea (push) Has been cancelled
Build and Deploy / build-windows (CLANG64) (push) Has been cancelled
fast sprite render
2025-05-01 01:35:05 -05:00

65 lines
1.1 KiB
JavaScript

// bunnymark
var render = use('render')
var os = use('os')
var dim = [500,500]
render.initialize({
width:dim.x,
height:dim.y,
resolution_x:dim.x,
resolution_y:dim.y,
mode:"letterboxed",
refresh: 60,
})
var camera = {
size: [500,500],
transform: os.make_transform(),
fov:50,
near_z: 0,
far_z: 1000,
surface: undefined,
viewport: {x:0,y:0,width:1,height:1},
ortho:true,
anchor:[0,0],
}
var draw = use('draw2d')
var sprite = use('lcdsprite')
var graphics = use('graphics')
var bunny = graphics.texture('tests/bunny')
var center = [0.5,0.5]
var vel = 50
for (var i = 0; i < 20000; i++) {
var sp = sprite.create(bunny, [Math.random()*dim.x, Math.random()*dim.y], center)
sp.dir = [Math.random()*vel, Math.random()*vel]
}
function movendraw(sp)
{
// sp.move([sp.dir[0]*dt, sp.dir[1]*dt])
sp.draw()
}
var dt = 0
function loop()
{
var now = os.now()
render.clear([22/255,120/255,194/255,255/255])
render.camera(camera)
// sprite.forEach(movendraw)
var mesh = sprite.geometry()
render.geometry(bunny.texture, mesh)
render.present()
dt = os.now() - now
var delay = (1/60) - dt
$_.delay(loop, delay)
}
loop()