38 lines
1.2 KiB
Bash
Executable file
38 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
if ! command -v glslc >/dev/null 2>&1; then
|
|
echo "error: glslc not found. Install with: brew install shaderc"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v odin >/dev/null 2>&1; then
|
|
echo "error: odin not found. Install with: brew install odin"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "${VK_ICD_FILENAMES:-}" ]]; then
|
|
if [[ -f "/opt/homebrew/etc/vulkan/icd.d/MoltenVK_icd.json" ]]; then
|
|
export VK_ICD_FILENAMES="/opt/homebrew/etc/vulkan/icd.d/MoltenVK_icd.json"
|
|
elif [[ -f "/opt/homebrew/Cellar/molten-vk/1.4.1/etc/vulkan/icd.d/MoltenVK_icd.json" ]]; then
|
|
export VK_ICD_FILENAMES="/opt/homebrew/Cellar/molten-vk/1.4.1/etc/vulkan/icd.d/MoltenVK_icd.json"
|
|
fi
|
|
fi
|
|
|
|
if [[ -z "${DYLD_FALLBACK_LIBRARY_PATH:-}" ]]; then
|
|
export DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib"
|
|
elif [[ ":${DYLD_FALLBACK_LIBRARY_PATH}:" != *":/opt/homebrew/lib:"* ]]; then
|
|
export DYLD_FALLBACK_LIBRARY_PATH="/opt/homebrew/lib:${DYLD_FALLBACK_LIBRARY_PATH}"
|
|
fi
|
|
|
|
mkdir -p "bin"
|
|
|
|
glslc -fshader-stage=vert "shaders/cubes.vert.glsl" -o "shaders/cubes.vert.spv"
|
|
glslc -fshader-stage=frag "shaders/cubes.frag.glsl" -o "shaders/cubes.frag.spv"
|
|
|
|
odin build src -out:bin/cubes_vulkan
|
|
./bin/cubes_vulkan
|