// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "display/shader/Shader.hpp" namespace Dawn { #define UI_SHADER_QUAD_COUNT 32 struct UIShaderQuad { glm::mat4 transform; glm::vec4 quad; glm::vec4 uv; struct Color color; }; struct UIShaderData { glm::mat4 projection; glm::mat4 view; glm::mat4 model; struct UIShaderQuad quads[UI_SHADER_QUAD_COUNT]; }; class UIShader : public Shader { protected: void getStages( const enum ShaderOpenGLVariant variant, const struct UIShaderData *rel, std::vector> &stages, std::vector ¶meters, std::vector &structures ) override; }; }