FX Batch Compiler: Fast Shader Processing

Written by

in

FX Batch Compiler is an open-source, Windows-based GUI application designed to automate and streamline the simultaneous compilation of multiple High-Level Shader Language (HLSL) and FX effect files. Developed by Adam Sawicki, it acts as a visual wrapper and automation manager for Microsoft’s standard DirectX SDK command-line tool (fxc.exe). Core Features

Multi-Shader Processing: Game developers and graphics programmers can process dozens of shader files simultaneously instead of calling the command line one by one.

Incremental Rebuilds: The program tracks the file modification times of your assets. It strictly recompiles shaders that have been modified since the last build, preventing unnecessary overhead.

Custom Scripting Language: Users can write compilation scripts in a simple, dedicated syntax to declare custom arguments, target profiles, and conditional execution flags directly for fxc.exe.

Variadic Matrix Compilation: It allows a single HLSL source file to be automatically compiled into multiple distinct binary files using different preprocessor macros, optimization flags, or parameters.

Detailed Error Tracking: The user interface lists the active compilation tasks alongside their real-time compiler outputs, providing error counts, warnings, and success/failure logs at a glance. Technical Context

Graphics programmers use this utility heavily during game production pipelines utilizing older Direct3D setups (like Direct3D 9, 10, or 11) where fxc.exe is the standard tool for generating shader bytecode. The application is written in C# and is distributed freely under the GNU GPL open-source license. Source files and compiled binaries can be evaluated directly on the creator’s FxBatchCompiler GitHub Repository or SourceForge Project Archive.

If you are trying to implement this tool in your modern project pipeline, please tell me:

What DirectX version are you targetting (e.g., DX11 vs DX12)?

Are you bound to fxc.exe or are you open to using modern tools like dxc.exe (DirectX Shader Compiler)?

What build system (like CMake or MSBuild) are you currently utilizing? GitHub – sawickiap/FxBatchCompiler

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *