///////////////////////////////////////// static string GetCacheFileName() { if (Bgfx.GetCurrentBackend() == RendererBackend.Noop) { return(""); } string folder = PathUtility.Combine(VirtualFileSystem.Directories.Project, @"Caches\ShaderCache"); string name = ""; if (Bgfx.GetCurrentBackend() == RendererBackend.Direct3D11 || Bgfx.GetCurrentBackend() == RendererBackend.Direct3D12) { name = "Direct3D11"; } else if (Bgfx.GetCurrentBackend() == RendererBackend.OpenGLES) { name = "OpenGLES"; } else if (Bgfx.GetCurrentBackend() == RendererBackend.Vulkan) { name = "Vulkan"; } else { Log.Fatal("GpuProgramManager: Shader model is not specified. Bgfx.GetCurrentBackend() == {0}.", Bgfx.GetCurrentBackend()); } return(Path.Combine(folder, name + ".cache")); //return Path.Combine( folder, Bgfx.GetCurrentBackend().ToString() + ".cache" ); }
static string GetShaderPath() { switch (Bgfx.GetCurrentBackend()) { case RendererBackend.Direct3D11: case RendererBackend.Direct3D12: return(Path.Combine("./shaders", "dx11")); case RendererBackend.OpenGL: return(Path.Combine("./shaders", "glsl")); default: throw new InvalidOperationException("Unsupported renderer backend."); } }
static string GetShaderPath() { switch (Bgfx.GetCurrentBackend()) { case RendererBackend.Direct3D11: case RendererBackend.Direct3D12: return(Path.Combine(RootPath, "Shaders/bin/dx11/")); case RendererBackend.OpenGL: return(Path.Combine(RootPath, "Shaders/bin/glsl/")); case RendererBackend.OpenGLES: return(Path.Combine(RootPath, "Shaders/bin/gles/")); case RendererBackend.Direct3D9: return(Path.Combine(RootPath, "Shaders/bin/dx9/")); default: throw new InvalidOperationException("Unknown renderer backend type."); } }