#pragma once #include #include "Shader.h" #include namespace XCEngine { namespace Resources { std::string ToStdString(const Containers::String& value); size_t SkipWhitespace(const std::string& text, size_t pos); std::string TrimCopy(const std::string& text); bool ParseQuotedString( const std::string& text, size_t quotePos, Containers::String& outValue, size_t* nextPos = nullptr); bool TryParseShaderType(const Containers::String& value, ShaderType& outType); bool TryParseShaderLanguage(const Containers::String& value, ShaderLanguage& outLanguage); bool TryParseShaderBackend(const Containers::String& value, ShaderBackend& outBackend); bool TryParseShaderPropertyType(const Containers::String& value, ShaderPropertyType& outType); bool TryParseShaderResourceType(const Containers::String& value, ShaderResourceType& outType); Containers::String ResolveShaderDependencyPath( const Containers::String& dependencyPath, const Containers::String& sourcePath); Containers::String BuildShaderDependencyResolutionDiagnostic( const Containers::String& dependencyPath, const Containers::String& sourcePath, const Containers::String& includeChain = Containers::String()); Containers::String ResolveBuiltinShaderPackageDependencyPath( const Containers::String& dependencyPath); } // namespace Resources } // namespace XCEngine