JeanPhilippeKernel/RendererEngine

Improve Shader Compiler

Closed this issue · 2 comments

Today, GLSL shader codes are compiled offline during the engine build stage through glslangValidator tool.

In order to enhance and improve the writing shader experience, we would like to support shader compilation on runtime.
That support will be the foundation of other features like:

  • Writing shader in-engine editor
  • Hot-reloading compiled shader

The offline compilation leverages the support GL_GOOGLE_include_directive extension that allows the inclusion of another shader file, the runtime compiler should offer/allow the same feature to preserve the same experience.
 
The existing Shader Compiler was based on OpenGL API, but since we moved to Vulkan we need to rethink the exposed APIs

  • Revisit the existing Shader Compiler to make it compatible with the Vulkan shader compiler API
  • Add support for #include<....>
  • Add support for runtime compilation

@JeanPhilippeKernel please enhance the description

I updated the description