Files
video-shader-toys/apps/RenderCadenceCompositor/runtime/SupportedShaderCatalog.h
Aiden 430cf0733d
Some checks failed
CI / React UI Build (push) Successful in 11s
CI / Windows Release Package (push) Has been cancelled
CI / Native Windows Build And Tests (push) Has been cancelled
end point adjsutments
2026-05-12 13:50:32 +10:00

40 lines
859 B
C++

#pragma once
#include "ShaderTypes.h"
#include <filesystem>
#include <map>
#include <string>
#include <vector>
namespace RenderCadenceCompositor
{
struct SupportedShaderSummary
{
std::string id;
std::string name;
std::string description;
std::string category;
};
struct ShaderSupportResult
{
bool supported = false;
std::string reason;
};
ShaderSupportResult CheckStatelessSinglePassShaderSupport(const ShaderPackage& shaderPackage);
class SupportedShaderCatalog
{
public:
bool Load(const std::filesystem::path& shaderRoot, unsigned maxTemporalHistoryFrames, std::string& error);
const std::vector<SupportedShaderSummary>& Shaders() const { return mShaders; }
const ShaderPackage* FindPackage(const std::string& shaderId) const;
private:
std::vector<SupportedShaderSummary> mShaders;
std::map<std::string, ShaderPackage> mPackagesById;
};
}