summaryrefslogtreecommitdiff
path: root/src/gpu/effects/shader_composer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/shader_composer.h')
-rw-r--r--src/gpu/effects/shader_composer.h38
1 files changed, 0 insertions, 38 deletions
diff --git a/src/gpu/effects/shader_composer.h b/src/gpu/effects/shader_composer.h
deleted file mode 100644
index d0972f2..0000000
--- a/src/gpu/effects/shader_composer.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// This file is part of the 64k demo project.
-// It defines the ShaderComposer class for managing WGSL snippets.
-
-#pragma once
-
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-
-class ShaderComposer {
- public:
- static ShaderComposer& Get();
-
- // Register a snippet (e.g. "common_math", "sdf_primitives")
- void RegisterSnippet(const std::string& name, const std::string& code);
-
- using CompositionMap = std::map<std::string, std::string>;
-
- // Assemble a final shader string by prepending required snippets
- // and recursively resolving #include "snippet_name" directives.
- // Optional substitutions: map "placeholder_name" -> "actual_snippet_name"
- std::string Compose(const std::vector<std::string>& dependencies,
- const std::string& main_code,
- const CompositionMap& substitutions = {});
-
- // Verify all #include directives reference registered snippets
- void VerifyIncludes() const;
-
- private:
- ShaderComposer() = default;
-
- void ResolveRecursive(const std::string& source, std::stringstream& ss,
- std::set<std::string>& included,
- const CompositionMap& substitutions);
-
- std::map<std::string, std::string> snippets_;
-};