Remove d3d12 renderer and replace with vulkan

This commit is contained in:
2026-03-09 10:16:38 -04:00
parent e35b849d49
commit b074d2113f
9 changed files with 1986 additions and 1563 deletions

View File

@@ -6,7 +6,7 @@ Graphical interface for automatically recording samples from existing analog aud
### Windows
Requires MSVC (Visual Studio 2019 Build Tools or later) with the Windows SDK and C++20 support.
Requires MSVC (Visual Studio 2019 Build Tools or later) with the Windows SDK and C++20 support, and the [Vulkan SDK](https://vulkan.lunarg.com/) (for headers, `vulkan-1.lib`, and `glslc`). The build system looks for `%VULKAN_SDK%` or falls back to `C:\VulkanSDK\1.4.341.1`.
Open a Developer Command Prompt, then:
@@ -74,7 +74,7 @@ Interactive elements use subtle visual effects for a DAW-style look:
Custom SDF-based pipeline for UI rendering. Processes Clay's `Clay_RenderCommandArray` output directly — no intermediate scene graph.
- **Windows**: `renderer_dx12.cpp`DirectX 12, HLSL shaders
- **Windows**: `renderer_vulkan.cpp`Vulkan, GLSL shaders (compiled to SPIR-V at build time)
- **macOS**: `renderer_metal.mm` — Metal, MSL shaders
Both renderers share the same vertex format (18 floats), SDF rounded-rect shader, and Clay command processing logic. Font rasterization and text measurement use FreeType on both platforms with the embedded [Inter](https://rsms.me/inter/) typeface. The font atlas is a 1024x1024 R8 texture containing ASCII glyphs 32126 rasterized at a fixed pixel size; text at other sizes is scaled from the atlas. The Inter TTF is embedded at build time as a C byte array (`font_inter.gen.h`) so there are no runtime font file dependencies. Font scale is multiplied by the platform DPI scale factor for crisp rendering on high-DPI displays.