RendererD3D12 now uses DXC to compile shader code against HLSL 6.0 profile.
RendererVk is now set up to parse HLSL code instead of GLSL code using glslang. Glslang's syntax recognision is not 100% complete, but this will keep Shader compilation consistency between platforms.
RendererVk now supports #include directives in shader code by using a custom ShaderIncluder:
Local includes ("..." style) are looked for relatively to processed file's location
System includes (<...> style) are looked for in "Data/Shaders" directory
Included files are cached for easier read in case they occur again within same unit's compilation. This could be changed later on (with some thread-safety implemented) to have one global Includer and one include cache.
RendererVk works with all Demo scenes except for Multithreaded scene.
New Common FileSystem utility GetAbsolutePath() - grabs a path relative to current directory and converts it into an absolute path.
GetAbsolutePath()
- grabs a path relative to current directory and converts it into an absolute path.