From 4bbc4883b60708bde0b13a35f2116c399eddb91e Mon Sep 17 00:00:00 2001 From: unknown <> Date: Thu, 29 Feb 2024 20:54:47 -0500 Subject: [PATCH] reorg + add stb dependency --- .gitignore | 3 ++- .gitmodules | 3 +++ src/main/c/compile.sh | 6 +++--- src/main/c/includes/libfluidsim.h | 10 ++++++++++ src/main/c/lib/stb | 1 + src/main/c/{ => src}/chunkmask.c | 5 +++-- src/main/c/{ => src}/densitystep.c | 18 ++++++++++-------- src/main/c/{ => src}/velocitystep.c | 5 +++-- src/main/java/electrosphere/Main.java | 6 +++--- 9 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 .gitmodules create mode 100644 src/main/c/includes/libfluidsim.h create mode 160000 src/main/c/lib/stb rename src/main/c/{ => src}/chunkmask.c (95%) rename src/main/c/{ => src}/densitystep.c (95%) rename src/main/c/{ => src}/velocitystep.c (99%) diff --git a/.gitignore b/.gitignore index 03cd192..87109a8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ /.project /.vscode /shared-folder -/shared-folder/** \ No newline at end of file +/shared-folder/** +/src/main/c/lib/** \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a8537d2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/main/c/lib/stb"] + path = src/main/c/lib/stb + url = https://github.com/nothings/stb.git diff --git a/src/main/c/compile.sh b/src/main/c/compile.sh index c02b26a..f210ea5 100644 --- a/src/main/c/compile.sh +++ b/src/main/c/compile.sh @@ -42,17 +42,17 @@ rm -f ./*.dll #compile object files COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -O1" -INPUT_FILES="./densitystep.c" +INPUT_FILES="./src/densitystep.c" OUTPUT_FILE="./densitystep.o" gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -O1" -INPUT_FILES="./velocitystep.c" +INPUT_FILES="./src/velocitystep.c" OUTPUT_FILE="./velocitystep.o" gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -O1" -INPUT_FILES="./chunkmask.c" +INPUT_FILES="./src/chunkmask.c" OUTPUT_FILE="./chunkmask.o" gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE diff --git a/src/main/c/includes/libfluidsim.h b/src/main/c/includes/libfluidsim.h new file mode 100644 index 0000000..8e29b99 --- /dev/null +++ b/src/main/c/includes/libfluidsim.h @@ -0,0 +1,10 @@ +//include guard +#ifndef LIB_FLUID_SIM +#define LIB_FLUID_SIM + +//include stb ds +#define STB_IMAGE_IMPLEMENTATION +#include "../lib/stb/stb_ds.h" + +//close include guard +#endif \ No newline at end of file diff --git a/src/main/c/lib/stb b/src/main/c/lib/stb new file mode 160000 index 0000000..ae721c5 --- /dev/null +++ b/src/main/c/lib/stb @@ -0,0 +1 @@ +Subproject commit ae721c50eaf761660b4f90cc590453cdb0c2acd0 diff --git a/src/main/c/chunkmask.c b/src/main/c/src/chunkmask.c similarity index 95% rename from src/main/c/chunkmask.c rename to src/main/c/src/chunkmask.c index 06f879f..1e22832 100644 --- a/src/main/c/chunkmask.c +++ b/src/main/c/src/chunkmask.c @@ -1,7 +1,8 @@ #include #include -#include "includes/utilities.h" -#include "includes/chunkmask.h" +#include "../includes/libfluidsim.h" +#include "../includes/utilities.h" +#include "../includes/chunkmask.h" uint32_t matrix_transform(JNIEnv * env, jobjectArray jrx); diff --git a/src/main/c/densitystep.c b/src/main/c/src/densitystep.c similarity index 95% rename from src/main/c/densitystep.c rename to src/main/c/src/densitystep.c index 787dc5b..b83af0d 100644 --- a/src/main/c/densitystep.c +++ b/src/main/c/src/densitystep.c @@ -2,9 +2,11 @@ #include #include #include +#include -#include "includes/utilities.h" -#include "includes/chunkmask.h" +#include "../includes/libfluidsim.h" +#include "../includes/utilities.h" +#include "../includes/chunkmask.h" void advectDensity(JNIEnv * env, uint32_t chunk_mask, int N, int b, jobjectArray jrd, jobjectArray d0, float * u, float * v, float * w, float dt); @@ -127,12 +129,12 @@ void advectDensity(JNIEnv * env, uint32_t chunk_mask, int N, int b, jobjectArray m = n = o = 1; - if(x < 1){ m -= 1; } - if(x >= N-1){ m += 1; } - if(y < 1){ n -= 1; } - if(y >= N-1){ n += 1; } - if(z < 1){ o -= 1; } - if(z >= N-1){ o += 1; } + // if(x < 1){ m -= 1; } + // if(x >= N-1){ m += 1; } + // if(y < 1){ n -= 1; } + // if(y >= N-1){ n += 1; } + // if(z < 1){ o -= 1; } + // if(z >= N-1){ o += 1; } //If the out of bounds coordinate is in bounds for a neighbor chunk, use that chunk as source instead // if(CK(m,n,o) != CENTER_LOC){ diff --git a/src/main/c/velocitystep.c b/src/main/c/src/velocitystep.c similarity index 99% rename from src/main/c/velocitystep.c rename to src/main/c/src/velocitystep.c index e731d2b..96e98aa 100644 --- a/src/main/c/velocitystep.c +++ b/src/main/c/src/velocitystep.c @@ -3,8 +3,9 @@ #include #include -#include "includes/utilities.h" -#include "includes/chunkmask.h" +#include "../includes/libfluidsim.h" +#include "../includes/utilities.h" +#include "../includes/chunkmask.h" #define BOUND_NO_DIR 0 diff --git a/src/main/java/electrosphere/Main.java b/src/main/java/electrosphere/Main.java index 0d7440b..ce8ce63 100644 --- a/src/main/java/electrosphere/Main.java +++ b/src/main/java/electrosphere/Main.java @@ -22,7 +22,7 @@ public class Main { public static void main(String args[]){ - int dim = 5; + int dim = 10; int i = 0; long time = 0; long lastTime = 0; @@ -36,9 +36,9 @@ public class Main { Mesh.initShaderProgram(); - FluidSim[][][] simArray = initFluidSim(dim,1,dim); + FluidSim[][][] simArray = initFluidSim(dim,1,1); - Mesh[][][] meshArray = initMeshes(dim,1,dim,simArray); + Mesh[][][] meshArray = initMeshes(dim,1,1,simArray);