ShaderLab is a Windows-only Vulkan 1.4 shader authoring tool. The implementation follows the staged plan in doc/implementation_plan.md; M4 is currently awaiting visible acceptance.
- Windows 10/11 x64
- Visual Studio 2022 with the MSVC x64 C++ workload
- CMake 3.25+
- Vulkan SDK 1.4+
- A local vcpkg checkout
Set VCPKG_ROOT to the vcpkg checkout, then configure, build, and test:
$env:VCPKG_ROOT = 'C:\path\to\vcpkg'
cmake --preset windows-msvc
cmake --build --preset debug
ctest --preset debugTests are discovered individually through GoogleTest. Run only pure logic tests or hidden-window Vulkan integration tests with:
ctest --preset debug -L core
ctest --preset debug -L gpuGPU tests copy shader assets to a temporary directory and never edit repository files. A single behavior can be run with shaderlab_gpu_tests.exe --gtest_filter=<suite.test>.
Pass a .gltf or .glb file as the first argument to load it. With no argument, ShaderLab looks for assets/models/DamagedHelmet/DamagedHelmet.gltf and otherwise uses a built-in cube:
.\build\Debug\shaderlab.exe 'C:\models\DamagedHelmet\DamagedHelmet.gltf'M1 camera controls: hold the left mouse button to orbit; use W/S to dolly in/out.
Dependencies are pinned through the builtin-baseline in vcpkg.json. Build outputs and the manifest-mode installed tree remain local and are ignored by Git.
SHADERLAB_ASAN=ON is available as a CMake cache option for MSVC AddressSanitizer diagnostics.
doc/implementation_plan.md: milestone scope and commit policydoc/progress.md: verified progress and evidencedoc/handover.md: continuation notes and invariants