LukasBanana / LLGL

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
BSD 3-Clause "New" or "Revised" License
2.03k stars 135 forks source link

Add field for source name functionality in HLSL to LLGL::ShaderDescriptor and fix D3D include pathing. #98

Closed gdianaty closed 11 months ago

gdianaty commented 11 months ago

The Problem

When LLGL's built-in D3D shader compilers are running and an #include directive is used, that directive is usually unable to be completed due to the shader being transformed in such a way that makes the D3D compiler unable to extrapolate include paths.

The (Proposed) Solution

Allow LLGL::ShaderDescriptor to hold a field for source names and pass that down to the underlying D3D compiler implementation as-needed.