experiment: LivingPlane - GPU wave-equation height field reacting to a moving sphere (L162)
Standalone EGL/OpenGL 4.3 compute runner (runtime GLSL, no shader compiler needed), ping-pong height/velocity field, damped wave + foundation spring + Gaussian sphere push + optional breathing, vertex-displaced render to PNG. Independent of generation. Intel ADL GT2: ~0.08 ms/step at 512^2, ~0.29 ms/step at 1024^2 (wall-time difference). .gitignore now allows Experiments/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
1 parent
eb47d72258
commit
5b15595e4a
5 files changed
+1247
No files matched your search
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PLUGIN_ROOT="$(cd -- "${SCRIPT_DIR}/../.." && pwd)"
|
||||
OUTPUT_DIR="${PLUGIN_ROOT}/Saved/Linux/l162"
|
||||
CXX="${CXX:-g++}"
|
||||
|
||||
command -v "${CXX}" >/dev/null || { echo "C++ compiler not found: ${CXX}" >&2; exit 2; }
|
||||
pkg-config --exists egl gl libpng || {
|
||||
echo "EGL, desktop OpenGL, and libpng development files are required" >&2
|
||||
exit 2
|
||||
}
|
||||
mkdir -p "${OUTPUT_DIR}"
|
||||
read -r -a GRAPHICS_FLAGS <<<"$(pkg-config --cflags --libs egl gl libpng)"
|
||||
|
||||
taskset -c 0-11 prlimit --as=6442450944 -- \
|
||||
"${CXX}" -std=c++20 -O2 -g -Wall -Wextra -Wpedantic \
|
||||
"${SCRIPT_DIR}/LivingPlane.cpp" -o "${OUTPUT_DIR}/living-plane" \
|
||||
"${GRAPHICS_FLAGS[@]}"
|
||||
|
||||
echo "built ${OUTPUT_DIR}/living-plane"
|
||||
Reference in new issue
Block a user