summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md70
1 files changed, 70 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6bacdea
--- /dev/null
+++ b/README.md
@@ -0,0 +1,70 @@
+BOWSHOCK
+
+# CHANGELOG
+
+Read: "CHANGELOG.txt"
+
+# COMPILATION
+
+Bowshock uses CMake as its build system. The standard option CMAKE_BUILD_TYPE
+may be set to either "Release" or "Debug", depending on the build type.
+
+The main program is written in C++20, and a conforming compiler is therefore
+required. OpenGL 3.2 is used for rendering, and the shaders are therefore
+written in GLSL 1.50.
+
+Before compilation, an appropriate GLAD loader must be downloaded from a web
+instance. I use the one on dav1d.de, with the following settings:
+
+<https://glad.dav1d.de/#language=c&specification=gl&api=gl%3D3.2&api=gles1%3Dnone&api=gles2%3Dnone&api=glsc2%3Dnone&profile=core&loader=on>
+
+The script "extractGlad.sh" will extract "glad.zip" (or any other archive - if
+specified) to "glad". It also copies a CMake lists file to the directory, and
+CMake will automatically include this and build GLAD.
+
+Before running - however - the data directory must be installed. This can be
+done via the installation script "install.sh":
+
+./install.sh data [data directory]
+
+# DEVELOPMENT
+
+To initialise the environment, I use the following commands:
+
+rm -fr build && \
+rm -fr bindir && \
+rm -fr datdir && \
+./extractGlad.sh && \
+cmake -Bbuild -DBOW_DATA_DIRECTORY="${PWD}/datdir" -DCMAKE_BUILD_TYPE=Debug . && \
+./install.sh data "${PWD}/datdir"
+
+... and from there just use the following to build the project:
+
+clear && \
+./validateShaders.py && \
+cmake --build build && \
+build/bowshock/bowshock --skip
+
+## SHADER VALIDATION
+
+The shaders at bowshock/shader may be validated using the Python script
+"validateShaders.py". If the shaders contain errors, and these are not fixed
+before installation, the program will fail to compile them during run-time.
+
+# INSTALLATION
+
+The script "install.sh" will install the executable, the assets, the shaders...
+to the specified directories:
+
+./install.sh [build directory] [binary directory] [data directory]
+
+# MIRRORS
+
+mandelbrot.dk (main): <https://mandelbrot.dk/bowshock>
+GitLab: <https://gitlab.com/bjoernager/bowshock.git>
+GitHub: <https://github.com/bjoernager/bowshock.git>
+
+
+# CREDITS
+
+Read: "CREDITS.txt"