aboutsummaryrefslogtreecommitdiff
path: root/servers/visual/shader_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/visual/shader_types.h')
-rw-r--r--servers/visual/shader_types.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/servers/visual/shader_types.h b/servers/visual/shader_types.h
new file mode 100644
index 000000000..411d5790a
--- /dev/null
+++ b/servers/visual/shader_types.h
@@ -0,0 +1,27 @@
+#ifndef SHADERTYPES_H
+#define SHADERTYPES_H
+
+#include "shader_language.h"
+#include "servers/visual_server.h"
+class ShaderTypes {
+
+
+ struct Type {
+
+ Map< StringName, Map<StringName,ShaderLanguage::DataType> > functions;
+ Set<String> modes;
+ };
+
+ Map<VS::ShaderMode,Type> shader_modes;
+
+ static ShaderTypes *singleton;
+public:
+ static ShaderTypes *get_singleton() { return singleton; }
+
+ const Map< StringName, Map<StringName,ShaderLanguage::DataType> >& get_functions(VS::ShaderMode p_mode);
+ const Set<String>& get_modes(VS::ShaderMode p_mode);
+
+ ShaderTypes();
+};
+
+#endif // SHADERTYPES_H