import scale var from js, more usefull exemple
This commit is contained in:
parent
9db10d6064
commit
01acd62776
14
app.c
14
app.c
|
@ -8,6 +8,8 @@ const unsigned int width = 800;
|
|||
const unsigned int height = 600;
|
||||
unsigned int BUFFER[width * height];
|
||||
|
||||
int scale(void);
|
||||
|
||||
typedef struct v2 {
|
||||
float x, y;
|
||||
} v2;
|
||||
|
@ -40,7 +42,7 @@ void init()
|
|||
}
|
||||
}
|
||||
|
||||
void go(float dt, int scale)
|
||||
void go(float dt)
|
||||
{
|
||||
for (int i = 0; i < NB; i++) {
|
||||
v2 npos;
|
||||
|
@ -76,15 +78,15 @@ void go(float dt, int scale)
|
|||
}
|
||||
}
|
||||
|
||||
v2 penger_origin = {(float) width/2 - 32*scale/2, (float) height/2 - 32*scale/2};
|
||||
v2 penger_origin = {(float) width/2 - 32*scale()/2, (float) height/2 - 32*scale()/2};
|
||||
for (int i = 0; i < 32; i++) {
|
||||
for (int y = 0; y < 32; y++) {
|
||||
if (penger_img[i][y] == 0)
|
||||
continue;
|
||||
for (int s1 = 0; s1 < scale; s1++) {
|
||||
for (int s2 = 0; s2 < scale; s2++) {
|
||||
int idx_x = penger_origin.x + y*scale+s1;
|
||||
int idx_y = penger_origin.y + i*scale+s2;
|
||||
for (int s1 = 0; s1 < scale(); s1++) {
|
||||
for (int s2 = 0; s2 < scale(); s2++) {
|
||||
int idx_x = penger_origin.x + y*scale()+s1;
|
||||
int idx_y = penger_origin.y + i*scale()+s2;
|
||||
if (idx_x < 0 || idx_x > width || idx_y < 0 || idx_y > height)
|
||||
continue;
|
||||
BUFFER[idx_y*width + idx_x] = penger_img[i][y];
|
||||
|
|
5
load.js
5
load.js
|
@ -33,6 +33,7 @@ function make_environment(...envs) {
|
|||
const { instance } = await WebAssembly.instantiateStreaming(fetch("./app.wasm"), {
|
||||
"env": make_environment({
|
||||
'random': Math.random,
|
||||
'scale': () => {return scale},
|
||||
})
|
||||
});
|
||||
|
||||
|
@ -62,14 +63,14 @@ instance.exports.init();
|
|||
let prev = null;
|
||||
function first(timestamp) {
|
||||
prev = timestamp;
|
||||
instance.exports.go(0.16, scale);
|
||||
instance.exports.go(0.16);
|
||||
window.requestAnimationFrame(loop);
|
||||
}
|
||||
function loop(timestamp) {
|
||||
const dt = timestamp - prev;
|
||||
prev = timestamp;
|
||||
|
||||
instance.exports.go(dt/1000, scale);
|
||||
instance.exports.go(dt/1000);
|
||||
ctx.putImageData(image, 0, 0);
|
||||
window.requestAnimationFrame(loop);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue