From b5c25416bc7df0e3134731d3337409e2447467d2 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 2 Nov 2024 21:39:49 -0400 Subject: correct units of measurement in move() kernel --- balls.c | 2 +- balls.cl | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/balls.c b/balls.c index c66a362..dab8961 100644 --- a/balls.c +++ b/balls.c @@ -26,7 +26,7 @@ #define RMIN 0.05 /* Minimum radius. */ #define RMAX 0.10 /* Maximum radius. */ -#define VMAX_INIT 0.05 /* Maximum initial velocity. */ +#define VMAX_INIT 1.5 /* Maximum initial velocity. */ enum { WIDTH = 640, diff --git a/balls.cl b/balls.cl index 3ca7de7..47bd7aa 100644 --- a/balls.cl +++ b/balls.cl @@ -1,6 +1,6 @@ #include "config.h" -#define G (9.81f / FPS / FPS) +#define G 9.81f #define DENSITY 1500.0f int isCollision(float2 p1, float r1, float2 p2, float r2); @@ -17,8 +17,8 @@ move(__global float2 *positions, __global float2 *velocities) { size_t id; id = get_global_id(0); - velocities[id].y -= G; - positions[id] += velocities[id]; + velocities[id].y -= G / FPS; + positions[id] += velocities[id] / FPS; } __kernel void -- cgit v1.2.3