shaderStore.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { ShaderLanguage } from "../Materials/shaderLanguage.js";
  2. /**
  3. * Defines the shader related stores and directory
  4. */
  5. export class ShaderStore {
  6. /**
  7. * Gets the shaders repository path for a given shader language
  8. * @param shaderLanguage the shader language
  9. * @returns the path to the shaders repository
  10. */
  11. static GetShadersRepository(shaderLanguage = ShaderLanguage.GLSL) {
  12. return shaderLanguage === ShaderLanguage.GLSL ? ShaderStore.ShadersRepository : ShaderStore.ShadersRepositoryWGSL;
  13. }
  14. /**
  15. * Gets the shaders store of a given shader language
  16. * @param shaderLanguage the shader language
  17. * @returns the shaders store
  18. */
  19. static GetShadersStore(shaderLanguage = ShaderLanguage.GLSL) {
  20. return shaderLanguage === ShaderLanguage.GLSL ? ShaderStore.ShadersStore : ShaderStore.ShadersStoreWGSL;
  21. }
  22. /**
  23. * Gets the include shaders store of a given shader language
  24. * @param shaderLanguage the shader language
  25. * @returns the include shaders store
  26. */
  27. static GetIncludesShadersStore(shaderLanguage = ShaderLanguage.GLSL) {
  28. return shaderLanguage === ShaderLanguage.GLSL ? ShaderStore.IncludesShadersStore : ShaderStore.IncludesShadersStoreWGSL;
  29. }
  30. }
  31. /**
  32. * Gets or sets the relative url used to load shaders if using the engine in non-minified mode
  33. */
  34. ShaderStore.ShadersRepository = "src/Shaders/";
  35. /**
  36. * Store of each shader (The can be looked up using effect.key)
  37. */
  38. ShaderStore.ShadersStore = {};
  39. /**
  40. * Store of each included file for a shader (The can be looked up using effect.key)
  41. */
  42. ShaderStore.IncludesShadersStore = {};
  43. /**
  44. * Gets or sets the relative url used to load shaders (WGSL) if using the engine in non-minified mode
  45. */
  46. ShaderStore.ShadersRepositoryWGSL = "src/ShadersWGSL/";
  47. /**
  48. * Store of each shader (WGSL)
  49. */
  50. ShaderStore.ShadersStoreWGSL = {};
  51. /**
  52. * Store of each included file for a shader (WGSL)
  53. */
  54. ShaderStore.IncludesShadersStoreWGSL = {};
  55. //# sourceMappingURL=shaderStore.js.map