Files
XCEngine/engine/src/Resources/Shader/Internal/ShaderRuntimeBuildUtils.h

33 lines
822 B
C++

#pragma once
#include "../ShaderIR.h"
#include <XCEngine/Core/IO/IResourceLoader.h>
#include <XCEngine/Resources/Shader/Shader.h>
#include <string>
namespace XCEngine {
namespace Resources {
Containers::String GetDefaultEntryPoint(ShaderLanguage language, ShaderType stage);
Containers::String GetDefaultProfile(
ShaderLanguage language,
ShaderBackend backend,
ShaderType stage);
size_t CalculateShaderMemorySize(const Shader& shader);
LoadResult BuildShaderFromIR(
const Containers::String& path,
const ShaderIR& shaderIR);
bool ResolveShaderUsePassPath(
const Containers::String& currentShaderPath,
const Containers::String& currentShaderName,
const Containers::String& targetShaderName,
Containers::String& outResolvedPath);
} // namespace Resources
} // namespace XCEngine