From 883bdb8dd6cc2832ccf22a9791b68b0ac67b7cf6 Mon Sep 17 00:00:00 2001 From: Carlos Asensio Martinez Date: Sun, 5 Nov 2023 01:54:29 +0100 Subject: [PATCH] Fix aout of bound issue, improve balls generation and movement, control with keyboard and mouse. --- README.md | 4 +- metaball.c | 254 +++++++++++++++++++++++--------------------------- thumbnail.gif | Bin 0 -> 55539 bytes thumbnail.png | Bin 30188 -> 0 bytes 4 files changed, 118 insertions(+), 140 deletions(-) create mode 100644 thumbnail.gif delete mode 100644 thumbnail.png diff --git a/README.md b/README.md index 77f1760..7c2218a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Metaballs -![Thumbnail](./thumbnail.png) +![Thumbnail](./thumbnail.gif) ## Description @@ -13,5 +13,5 @@ There are optimizations to be done. - ~~Compute the edge values only once~~. A rudimentary cache system is included. - ~~Add color~~. Added color per ball. - ~~Add texture mapping~~. Generate and upload mesh to GPU, texture mapping is available. + - ~~Control~~. Added mouse and keyboard control. - Clean code, separate voxel calculation and render code. - - Control, add mouse and keyboard control. diff --git a/metaball.c b/metaball.c index e4f16d1..5d96ee2 100644 --- a/metaball.c +++ b/metaball.c @@ -87,6 +87,10 @@ typedef struct ball_struct Vector3d pos; double mass; Color color; + + // orbital params + Vector3d angular_speed; + Vector3d initial_pos; } Ball; MB_DEFINE_ARRAY(Ball); @@ -138,14 +142,13 @@ typedef struct grid_struct Vector3d pos; Index3d count; // number of subdivision of space Vector3d size; // size of separation between space subdivisions - Vector3d offset; + Vector3d center; NodeArray nodes; Index3dArray queue; // list of pending voxels to compute } Grid; static size_t cache_hit = 0; static size_t cache_miss = 0; -static bool update_time = true; static Mesh *metaball_mesh = 0x0; Vector3d @@ -178,9 +181,9 @@ Vector3d compute_grid_point_coordinates(Index3d pos, Grid grid) { Vector3d out; - out.x = (pos.x * grid.size.x) + grid.offset.x; - out.y = (pos.y * grid.size.y) + grid.offset.y; - out.z = (pos.z * grid.size.z) + grid.offset.z; + out.x = (pos.x * grid.size.x); + out.y = (pos.y * grid.size.y); + out.z = (pos.z * grid.size.z); return out; } @@ -215,7 +218,7 @@ Mesh init_mesh(Grid grid) return mesh; } -void draw_mesh(Mesh *mesh, Material material, Matrix transform) +void draw_mesh(Mesh *mesh, Material material, Material wired, Matrix transform) { UpdateMeshBuffer(*mesh, 0, mesh->vertices, mesh->vertexCount * 3 * sizeof(float), 0); @@ -226,8 +229,6 @@ void draw_mesh(Mesh *mesh, Material material, Matrix transform) DrawMesh(*mesh, material, transform); - Material wired = LoadMaterialDefault(); - wired.maps[MATERIAL_MAP_DIFFUSE].color = BLACK; rlEnableWireMode(); DrawMesh(*mesh, wired, transform); @@ -478,9 +479,7 @@ void compute_voxel_triangles(Voxel *voxel, Grid grid, BallArray balls) } } -// PUBLIC API - -void compute_metaball(BallArray balls, Grid grid) +void compute_energy_field(BallArray balls, Grid grid) { size_t x, y, z; @@ -533,17 +532,20 @@ bool queue_voxel_empty(Grid *grid) void queue_voxel_push_neighbors(Voxel voxel, Grid *grid) { Index3d origin = voxel.corners[0].grid_pos; - if ((voxel.neighbors & 1) != 0 && origin.x < grid->count.x - 1) + + if ((voxel.neighbors & 1) != 0 && origin.x + 1 < grid->count.x - 1) queue_voxel_push((Index3d){origin.x + 1, origin.y + 0, origin.z + 0}, grid); - if ((voxel.neighbors & 2) != 0 && origin.x > 0) + if ((voxel.neighbors & 2) != 0 && origin.x - 1 > 0) queue_voxel_push((Index3d){origin.x - 1, origin.y + 0, origin.z + 0}, grid); - if ((voxel.neighbors & 4) != 0 && origin.y < grid->count.y - 1) + + if ((voxel.neighbors & 4) != 0 && origin.y + 1 < grid->count.y - 1) queue_voxel_push((Index3d){origin.x + 0, origin.y + 1, origin.z + 0}, grid); - if ((voxel.neighbors & 8) != 0 && origin.y > 0) + if ((voxel.neighbors & 8) != 0 && origin.y - 1 > 0) queue_voxel_push((Index3d){origin.x + 0, origin.y - 1, origin.z + 0}, grid); - if ((voxel.neighbors & 16) != 0 && origin.z < grid->count.z - 1) + + if ((voxel.neighbors & 16) != 0 && origin.z + 1 < grid->count.z - 1) queue_voxel_push((Index3d){origin.x + 0, origin.y + 0, origin.z + 1}, grid); - if ((voxel.neighbors & 32) != 0 && origin.z > 0) + if ((voxel.neighbors & 32) != 0 && origin.z - 1 > 0) queue_voxel_push((Index3d){origin.x + 0, origin.y + 0, origin.z - 1}, grid); } @@ -568,19 +570,19 @@ void queue_voxel_push_neighbors(Voxel voxel, Grid *grid) bool search_field_limit(Index3d orig, Index3d *found, Grid grid) { - if (orig.x < 0 || orig.x >= grid.count.x || - orig.y < 0 || orig.y >= grid.count.y || - orig.z < 0 || orig.z >= grid.count.z) + if (orig.x < 0 || orig.x >= grid.count.x - 1 || + orig.y < 0 || orig.y >= grid.count.y - 1 || + orig.z < 0 || orig.z >= grid.count.z - 1) { return false; } - SEARCH_FIELD_LIMIT_LOOP(pos.x >= 0 && pos.x < grid.count.x, pos.x--); - SEARCH_FIELD_LIMIT_LOOP(pos.x < grid.count.x, pos.x++); - SEARCH_FIELD_LIMIT_LOOP(pos.y >= 0 && pos.y < grid.count.y, pos.y--); - SEARCH_FIELD_LIMIT_LOOP(pos.y < grid.count.y, pos.y++); - SEARCH_FIELD_LIMIT_LOOP(pos.z >= 0 && pos.z < grid.count.z, pos.z--); - SEARCH_FIELD_LIMIT_LOOP(pos.z < grid.count.z, pos.z++); + SEARCH_FIELD_LIMIT_LOOP(pos.x >= 0 && pos.x < grid.count.x - 1, pos.x--); + SEARCH_FIELD_LIMIT_LOOP(pos.x < grid.count.x - 1, pos.x++); + SEARCH_FIELD_LIMIT_LOOP(pos.y >= 0 && pos.y < grid.count.y - 1, pos.y--); + SEARCH_FIELD_LIMIT_LOOP(pos.y < grid.count.y - 1, pos.y++); + SEARCH_FIELD_LIMIT_LOOP(pos.z >= 0 && pos.z < grid.count.z - 1, pos.z--); + SEARCH_FIELD_LIMIT_LOOP(pos.z < grid.count.z - 1, pos.z++); return false; } @@ -592,9 +594,9 @@ void generate_mesh(Camera camera, Grid *grid, BallArray balls) { Vector3d pos = balls.items[i].pos; Index3d pos_voxel; - pos_voxel.x = (size_t)((pos.x - grid->offset.x) / grid->size.x); - pos_voxel.y = (size_t)((pos.y - grid->offset.y) / grid->size.y); - pos_voxel.z = (size_t)((pos.z - grid->offset.z) / grid->size.z); + pos_voxel.x = (size_t)floor(pos.x / grid->size.x); + pos_voxel.y = (size_t)floor(pos.y / grid->size.y); + pos_voxel.z = (size_t)floor(pos.z / grid->size.z); if (!search_field_limit(pos_voxel, &pos_voxel, *grid)) { @@ -614,47 +616,36 @@ void generate_mesh(Camera camera, Grid *grid, BallArray balls) } } -void render(Grid grid, BallArray balls) -{ - size_t x, y, z, i; - - Vector3 rotationAxis = {.x = 0, .y = 0, .z = 0}; - - for (x = 0; x < grid.count.x; x++) - { - for (y = 0; y < grid.count.y; y++) - { - for (z = 0; z < grid.count.z; z++) - { - Vector3 center = { - .x = x * grid.size.x + grid.offset.x, - .y = y * grid.size.y + grid.offset.y, - .z = z * grid.size.z + grid.offset.z}; - - size_t grid_index = compute_grid_point_index((Index3d){.x = x, .y = y, .z = z}, grid); - if (grid.nodes.items[grid_index].energy <= THRESHOLD) - { - // DrawCircle3D(center, grid.size.x * 0.05f, rotationAxis, 0, BLUE); - DrawPoint3D(center, BLUE); - } - } - } - } +void render(Grid grid) +{ + Vector3 center = (Vector3){ + .x = grid.center.x, + .y = grid.center.y, + .z = grid.center.z}; + Vector3 size = (Vector3){ + .x = grid.count.x * grid.size.x, + .y = grid.count.y * grid.size.y, + .z = grid.count.z * grid.size.z}; + DrawCubeWiresV(center, size, BLACK); } Grid make_grid(Index3d count, Vector3d size, Vector3d pos) { Grid grid; - Vector3d offset = { - .x = pos.x - size.x * ((count.x - 0.5) / 2.0), - .y = pos.y - size.y * ((count.y - 0.5) / 2.0), - .z = pos.z - size.z * ((count.z - 0.5) / 2.0)}; + double center_x = pos.x + ((count.x * size.x) + 0.5) / 2.0; + double center_y = pos.y + ((count.y * size.y) + 0.5) / 2.0; + double center_z = pos.z + ((count.z * size.z) + 0.5) / 2.0; + + Vector3d center = { + .x = center_x, + .y = center_y, + .z = center_z}; grid.count = count; grid.size = size; grid.pos = pos; - grid.offset = offset; + grid.center = center; grid.nodes = MB_CREATE_ARRAY(Node, grid.count.x * grid.count.y * grid.count.z); grid.queue = MB_CREATE_ARRAY(Index3d, grid.count.x * grid.count.y * grid.count.z); @@ -663,11 +654,10 @@ Grid make_grid(Index3d count, Vector3d size, Vector3d pos) void free_grid(Grid grid) { - grid.count = (Index3d){.x = 0, .y = 0, .z = 0}; grid.size = (Vector3d){.x = 0, .y = 0, .z = 0}; grid.pos = (Vector3d){.x = 0, .y = 0, .z = 0}; - grid.offset = (Vector3d){.x = 0, .y = 0, .z = 0}; + grid.center = (Vector3d){.x = 0, .y = 0, .z = 0}; MB_DESTROY_ARRAY(grid.nodes); MB_DESTROY_ARRAY(grid.queue); @@ -679,67 +669,50 @@ void push_ball(BallArray *balls, Ball ball) balls->count++; } -void manage_keys(Grid grid, Camera *camera) +void move_balls(Grid grid, BallArray balls, double t) { - static Vector3d movement = {0, 0, 2}; - double speed = 0.02; - if (IsKeyDown(KEY_W)) - { - movement.y += speed; - } - else if (IsKeyDown(KEY_S)) - { - movement.y -= speed; - } - if (IsKeyDown(KEY_A)) - { - movement.x += speed; - } - else if (IsKeyDown(KEY_D)) - { - movement.x -= speed; - } - if (IsKeyDown(KEY_Q)) - { - movement.z += speed; - } - else if (IsKeyDown(KEY_E)) - { - movement.z -= speed; - } - if (IsKeyDown(KEY_SPACE)) + double radius_x = (grid.count.x * grid.size.x) / 4; + double radius_y = (grid.count.y * grid.size.y) / 4; + double radius_z = (grid.count.z * grid.size.z) / 4; + + for (size_t i = 0; i < balls.count; i++) { - update_time = !update_time; + balls.items[i].pos = (Vector3d){ + .x = grid.center.x + radius_x * cos(balls.items[i].angular_speed.x * t + balls.items[i].initial_pos.x), + .y = grid.center.y + radius_y * sin(balls.items[i].angular_speed.y * t + balls.items[i].initial_pos.y), + .z = grid.center.z + radius_z * cos(balls.items[i].angular_speed.z * t + balls.items[i].initial_pos.z)}; } - - camera->position.x = grid.pos.x + sinf(0.5f * movement.x) * ((grid.count.x / 2) * grid.size.x * movement.z); - camera->position.z = grid.pos.z + cosf(0.5f * movement.x) * ((grid.count.z / 2) * grid.size.z * movement.z); - camera->position.y = grid.pos.y + sinf(0.5f * movement.y) * ((grid.count.y / 2) * grid.size.y * movement.z); } -void move_balls(Grid grid, BallArray balls, double t) +Ball random_ball(Grid grid) { - size_t i = 0; - if (i >= balls.count) - return; - balls.items[i].pos.x = grid.pos.x + sinf(0.5f * t) * grid.size.x * 2; - balls.items[i].pos.y = grid.pos.y + sinf(0.7f * t) * (grid.count.y / 2) * grid.size.y; - balls.items[i].pos.z = grid.pos.z + sinf(0.2f * t) * (grid.count.z / 4) * grid.size.z; - - i = 2; - if (i >= balls.count) - return; - balls.items[i].pos.x = 20 + sinf(2.50f * t) * grid.size.x; - balls.items[i].pos.y = -20 + sinf(1.75f * t) * grid.size.y; - balls.items[i].pos.z = 60 + sinf(0.82f * t) * grid.size.z; - - i = 3; - if (i >= balls.count) - return; - // balls.items[i].pos.z = grid.pos.z + sinf(0.82f * t) * grid.size.z; - balls.items[i].pos.x = grid.pos.x + sinf(0.5f * t) * (grid.count.x / 2) * grid.size.x; - // balls.items[i].pos.y = grid.pos.y + sinf(0.7f * t) * (grid.count.y / 2) * grid.size.y; - // balls.items[i].pos.z = grid.pos.z + sinf(0.2f * t) * (grid.count.z / 4) * grid.size.z; + double radius_x = (grid.count.x * grid.size.x) / 4; + double radius_y = (grid.count.y * grid.size.y) / 4; + double radius_z = (grid.count.z * grid.size.z) / 4; + + Vector3d speed = { + .x = 0.1 + (float)rand() / ((float)RAND_MAX / 2.0), + .y = 0.1 + (float)rand() / ((float)RAND_MAX / 2.0), + .z = 0.1 + (float)rand() / ((float)RAND_MAX / 2.0)}; + + Vector3d initial = { + .x = 1.0 - (float)rand() / ((float)RAND_MAX / 2.0), + .y = 1.0 - (float)rand() / ((float)RAND_MAX / 2.0), + .z = 1.0 - (float)rand() / ((float)RAND_MAX / 2.0)}; + + Vector3d p = (Vector3d){ + .x = grid.center.x + radius_x * cos(initial.x), + .y = grid.center.y + radius_y * sin(initial.y), + .z = grid.center.z + radius_z * cos(initial.z)}; + + Color pallete[] = {LIGHTGRAY, GRAY, DARKGRAY, YELLOW, GOLD, ORANGE, PINK, RED, + MAROON, GREEN, LIME, DARKGREEN, SKYBLUE, BLUE, DARKBLUE, PURPLE, + VIOLET, DARKPURPLE, BEIGE, BROWN, DARKBROWN}; + + size_t color_index = rand() / (RAND_MAX / 20); + double ball_mass = 50 + rand() / (RAND_MAX / 200); + + return (Ball){.pos = p, .mass = ball_mass, .color = pallete[color_index], .initial_pos = initial, .angular_speed = speed}; } int main(int argc, char *argv[]) @@ -747,29 +720,32 @@ int main(int argc, char *argv[]) Index3d count = {.x = 20, .y = 20, .z = 20}; Vector3d size = {.x = 10, .y = 10, .z = 10}; - Vector3d pos = {.x = 0, .y = 0, .z = 100}; + Vector3d pos = {.x = 0, .y = 0, .z = 0}; Grid grid = make_grid(count, size, pos); BallArray balls = MB_CREATE_ARRAY(Ball, 5); - push_ball(&balls, (Ball){.pos = {.x = -20, .y = -20, .z = 120}, .mass = 100, .color = BLUE}); - push_ball(&balls, (Ball){.pos = {.x = 20, .y = 20, .z = 100}, .mass = 300, .color = RED}); - push_ball(&balls, (Ball){.pos = {.x = 20, .y = -20, .z = 60}, .mass = 150, .color = YELLOW}); - push_ball(&balls, (Ball){.pos = {.x = 100, .y = 0, .z = 60}, .mass = 150, .color = GREEN}); + for (size_t i = 0; i < balls.capacity; i++) + { + push_ball(&balls, random_ball(grid)); + } - const int screenWidth = 800; - const int screenHeight = 450; + const int screenWidth = 640; + const int screenHeight = 480; // Define the camera to look into our 3d world Camera camera = {0}; - camera.position = (Vector3){0.0f, 0.0f, 0.0f}; // Camera position - camera.target = (Vector3){0.0f, 0.0f, 100.0f}; // Camera looking at point - camera.up = (Vector3){0.0f, 1.0f, 0.0f}; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - camera.projection = CAMERA_PERSPECTIVE; // Camera projection type + camera.position = (Vector3){grid.center.x, grid.center.y, grid.center.z - grid.count.z * grid.size.z * 2}; // Camera position + camera.target = (Vector3){grid.center.x, grid.center.y, grid.center.z}; // Camera looking at point + camera.up = (Vector3){0.0f, 1.0f, 0.0f}; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + camera.projection = CAMERA_PERSPECTIVE; // Camera projection type - double screenshot_time = 4.90; InitWindow(screenWidth, screenHeight, "Metaballs"); + + Material wired = LoadMaterialDefault(); + wired.maps[MATERIAL_MAP_DIFFUSE].color = GRAY; + Material material = LoadMaterialDefault(); material.maps[MATERIAL_MAP_DIFFUSE].color = WHITE; // material.maps[MATERIAL_MAP_DIFFUSE].texture = LoadTexture("../texel_checker.png"); @@ -782,26 +758,28 @@ int main(int argc, char *argv[]) Mesh mesh = init_mesh(grid); metaball_mesh = &mesh; + DisableCursor(); while (!WindowShouldClose()) // Detect window close button or ESC key { cache_hit = 0; cache_miss = 0; - manage_keys(grid, &camera); - if (update_time) + // manage_keys(grid, &camera); + UpdateCamera(&camera, CAMERA_THIRD_PERSON); + camera.target = (Vector3){grid.center.x, grid.center.y, grid.center.z}; + + if (!IsKeyDown(KEY_SPACE)) { - // move_balls(grid, balls, screenshot_time); move_balls(grid, balls, GetTime()); } - compute_metaball(balls, grid); + compute_energy_field(balls, grid); + generate_mesh(camera, &grid, balls); BeginDrawing(); ClearBackground(RAYWHITE); BeginMode3D(camera); - - generate_mesh(camera, &grid, balls); - draw_mesh(metaball_mesh, material, transform); - + draw_mesh(metaball_mesh, material, wired, transform); + render(grid); EndMode3D(); char label_fps[256]; diff --git a/thumbnail.gif b/thumbnail.gif new file mode 100644 index 0000000000000000000000000000000000000000..25075a91ddb5cfbdcca686e9ba059d1b92954773 GIT binary patch literal 55539 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

U9$^OE;;nKG(EazB6D!+H>$*%Wpbsw`U7v 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