ash_renderer 0.4.30

Vulkan renderer in Rust using ASH - ECS-free, pure rendering engine
Documentation
# Shader Compilation Script for Ash Renderer
# Compiles all shaders to SPIR-V with optimizations

$ErrorActionPreference = "Stop"

Write-Host "=== Ash Renderer Shader Compilation ===" -ForegroundColor Cyan
Write-Host ""

# Check for glslc
try {
    $glslcVersion = glslc --version 2>&1 | Select-Object -First 1
    Write-Host "Using: $glslcVersion" -ForegroundColor Green
}
catch {
    Write-Host "ERROR: glslc not found. Please install Vulkan SDK." -ForegroundColor Red
    exit 1
}

Write-Host ""
Set-Location $PSScriptRoot\shaders

# Compile vertex shaders
Write-Host "Compiling vertex shaders..." -ForegroundColor Yellow
glslc vert.vert -o vert.spv
glslc postprocess.vert -o postprocess.vert.spv
glslc shadow.vert -o shadow.vert.spv
glslc overlay.vert -o overlay.vert.spv

# Compile fragment shaders
Write-Host "Compiling fragment shaders..." -ForegroundColor Yellow
Write-Host "  - frag.glsl (WITH Forward+ lighting)" -ForegroundColor Cyan
glslc -fshader-stage=fragment -DENABLE_POINT_LIGHTS frag.glsl -o frag.spv

glslc tonemapping.frag -o tonemapping.frag.spv
glslc shadow.frag -o shadow.frag.spv
glslc overlay.frag -o overlay.frag.spv

# Compile compute shaders
Write-Host "Compiling compute shaders..." -ForegroundColor Yellow
glslc light_culling.comp -o light_culling.spv
glslc taa_resolve.comp -o taa_resolve.spv
glslc occlusion_cull.comp -o occlusion_cull.spv
glslc hiz_generate.comp -o hiz_generate.spv

# Compile bloom shaders
Write-Host "Compiling bloom shaders..." -ForegroundColor Yellow
glslc bloom_prefilter.frag -o bloom_prefilter.frag.spv
glslc bloom_downsample.frag -o bloom_downsample.frag.spv
glslc bloom_upsample.frag -o bloom_upsample.frag.spv

# Compile PBR shaders
Write-Host "Compiling PBR shaders..." -ForegroundColor Yellow
glslc brdf_lut.frag -o brdf_lut.spv

Write-Host ""
Write-Host "=== Compilation Complete ===" -ForegroundColor Green
Write-Host "  Forward+ lighting: ENABLED" -ForegroundColor Cyan
Write-Host ""