Unify text shader handling
This commit is contained in:
@@ -38,11 +38,11 @@ namespace OpenVulkano::Scene
|
||||
shader.cullMode = CullMode::NONE;
|
||||
return shader;
|
||||
}
|
||||
}
|
||||
|
||||
Shader TextDrawable::DEFAULT_SHADER_BITMAP = MakeDefaultShader(FontAtlasType::BITMAP);
|
||||
Shader TextDrawable::DEFAULT_SHADER_SDF = MakeDefaultShader(FontAtlasType::SDF);
|
||||
Shader TextDrawable::DEFAULT_SHADER_MSDF = MakeDefaultShader(FontAtlasType::MSDF);
|
||||
Shader DEFAULT_SHADER_BITMAP = MakeDefaultShader(FontAtlasType::BITMAP);
|
||||
Shader DEFAULT_SHADER_SDF = MakeDefaultShader(FontAtlasType::SDF);
|
||||
Shader DEFAULT_SHADER_MSDF = MakeDefaultShader(FontAtlasType::MSDF);
|
||||
}
|
||||
|
||||
TextDrawable::TextDrawable(const TextConfig& config) : m_cfg(config)
|
||||
{
|
||||
@@ -215,7 +215,17 @@ namespace OpenVulkano::Scene
|
||||
++i;
|
||||
}
|
||||
m_bbox.Init(bmin, bmax);
|
||||
SimpleDrawable::Init(nullptr, &m_geometry, &m_material, &m_uniBuffer);
|
||||
|
||||
Shader* shader = nullptr;
|
||||
switch (m_atlasData->meta.atlasType)
|
||||
{
|
||||
case FontAtlasType::SDF: shader = &DEFAULT_SHADER_SDF; break;
|
||||
case FontAtlasType::MSDF: shader = &DEFAULT_SHADER_MSDF; break;
|
||||
default: Logger::RENDER->warn("No default shader for atlas type: {}", m_atlasData->meta.atlasType.GetName());
|
||||
case FontAtlasType::BITMAP: shader = &DEFAULT_SHADER_BITMAP; break;
|
||||
}
|
||||
|
||||
SimpleDrawable::Init(shader, &m_geometry, &m_material, &m_uniBuffer);
|
||||
}
|
||||
|
||||
void TextDrawable::SetAtlasData(const std::shared_ptr<AtlasData>& atlasData)
|
||||
|
||||
Reference in New Issue
Block a user