Files
XCEngine/engine/include/XCEngine/Resources/BuiltinResources.h

43 lines
1.5 KiB
C++

#pragma once
#include <XCEngine/Core/IO/IResourceLoader.h>
namespace XCEngine {
namespace Resources {
enum class BuiltinPrimitiveType {
Cube,
Sphere,
Capsule,
Cylinder,
Plane,
Quad
};
bool IsBuiltinResourcePath(const Containers::String& path);
bool IsBuiltinMeshPath(const Containers::String& path);
bool IsBuiltinMaterialPath(const Containers::String& path);
bool IsBuiltinShaderPath(const Containers::String& path);
bool IsBuiltinTexturePath(const Containers::String& path);
const char* GetBuiltinPrimitiveDisplayName(BuiltinPrimitiveType primitiveType);
Containers::String GetBuiltinPrimitiveMeshPath(BuiltinPrimitiveType primitiveType);
Containers::String GetBuiltinDefaultPrimitiveMaterialPath();
Containers::String GetBuiltinForwardLitShaderPath();
Containers::String GetBuiltinUnlitShaderPath();
Containers::String GetBuiltinDepthOnlyShaderPath();
Containers::String GetBuiltinShadowCasterShaderPath();
Containers::String GetBuiltinObjectIdShaderPath();
Containers::String GetBuiltinSkyboxShaderPath();
Containers::String GetBuiltinDefaultPrimitiveTexturePath();
bool TryParseBuiltinPrimitiveType(const Containers::String& path, BuiltinPrimitiveType& outPrimitiveType);
LoadResult CreateBuiltinMeshResource(const Containers::String& path);
LoadResult CreateBuiltinMaterialResource(const Containers::String& path);
LoadResult CreateBuiltinShaderResource(const Containers::String& path);
LoadResult CreateBuiltinTextureResource(const Containers::String& path);
} // namespace Resources
} // namespace XCEngine