Cleanup duplicated text shader

This commit is contained in:
Georg Hagen
2025-01-04 01:52:11 +01:00
parent 519be60c8c
commit f124a22910
3 changed files with 20 additions and 39 deletions

View File

@@ -22,11 +22,13 @@ namespace OpenVulkano::Scene
{
namespace
{
Shader MakeDefaultShader(const std::string& vertexShader, const std::string& fragmentShader)
constexpr uint32_t MISSING_GLYPH_SYMBOL = '?';
Shader MakeDefaultShader(FontAtlasType type)
{
Shader shader;
shader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/" + vertexShader);
shader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/" + fragmentShader);
shader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/text");
shader.AddShaderProgram(ShaderProgramType::FRAGMENT, std::string(type.GetDefaultFragmentShader()));
shader.AddVertexInputDescription(Vertex::GetVertexInputDescription());
shader.AddDescriptorSetLayoutBinding(Texture::DESCRIPTOR_SET_LAYOUT_BINDING);
DescriptorSetLayoutBinding desc = UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING;
@@ -38,9 +40,9 @@ namespace OpenVulkano::Scene
}
}
Shader TextDrawable::DEFAULT_SHADER_BITMAP = MakeDefaultShader("text", "text");
Shader TextDrawable::DEFAULT_SHADER_SDF = MakeDefaultShader("sdfText", "sdfText");
Shader TextDrawable::DEFAULT_SHADER_MSDF = MakeDefaultShader("sdfText", "msdfText");
Shader TextDrawable::DEFAULT_SHADER_BITMAP = MakeDefaultShader(FontAtlasType::BITMAP);
Shader TextDrawable::DEFAULT_SHADER_SDF = MakeDefaultShader(FontAtlasType::SDF);
Shader TextDrawable::DEFAULT_SHADER_MSDF = MakeDefaultShader(FontAtlasType::MSDF);
TextDrawable::TextDrawable(const TextConfig& config) : m_cfg(config)
{