Remove unnecessary buffer
This commit is contained in:
@@ -20,21 +20,10 @@ namespace OpenVulkano::Scene
|
||||
Shader MakeLabelBgShader(const bool billboard)
|
||||
{
|
||||
Shader backgroundShader;
|
||||
if (!billboard)
|
||||
{
|
||||
backgroundShader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/label");
|
||||
}
|
||||
else
|
||||
{
|
||||
backgroundShader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/labelBillboard");
|
||||
// binding for billboard's buffer
|
||||
DescriptorSetLayoutBinding binding = UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING;
|
||||
binding.stageFlags = ShaderProgramType::Type::VERTEX;
|
||||
backgroundShader.AddDescriptorSetLayoutBinding(binding, 4);
|
||||
}
|
||||
backgroundShader.AddShaderProgram(ShaderProgramType::VERTEX, billboard ? "Shader/labelBillboard" : "Shader/label");
|
||||
backgroundShader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/label");
|
||||
backgroundShader.AddDescriptorSetLayoutBinding(Texture::DESCRIPTOR_SET_LAYOUT_BINDING, 2);
|
||||
backgroundShader.AddDescriptorSetLayoutBinding(UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING, 5);
|
||||
backgroundShader.AddDescriptorSetLayoutBinding(UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING, 4);
|
||||
backgroundShader.topology = Topology::TRIANGLE_STRIP;
|
||||
backgroundShader.cullMode = CullMode::NONE;
|
||||
return backgroundShader;
|
||||
@@ -44,6 +33,7 @@ namespace OpenVulkano::Scene
|
||||
{
|
||||
Shader shader = TextDrawable::MakeDefaultShader(type);
|
||||
shader.depthCompareOp = CompareOp::LESS_OR_EQUAL;
|
||||
shader.EnableDepthBias();
|
||||
if (billboard)
|
||||
{
|
||||
for (auto& program : shader.shaderPrograms)
|
||||
@@ -55,10 +45,9 @@ namespace OpenVulkano::Scene
|
||||
}
|
||||
}
|
||||
DescriptorSetLayoutBinding billboardUniformBinding = UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING;
|
||||
billboardUniformBinding.stageFlags = ShaderProgramType::Type::VERTEX;
|
||||
shader.AddDescriptorSetLayoutBinding(billboardUniformBinding, 4);
|
||||
shader.depthBiasConstant = 0.01f;
|
||||
}
|
||||
shader.EnableDepthBias();
|
||||
return shader;
|
||||
}
|
||||
|
||||
@@ -123,11 +112,6 @@ namespace OpenVulkano::Scene
|
||||
if (m_settings.hasArrow) m_labelData.bboxCenter.y -= m_settings.arrowLength;
|
||||
}
|
||||
|
||||
void LabelDrawable::SetBillboardSettings(const BillboardControlBlock& settings)
|
||||
{
|
||||
m_billboardSettings = settings;
|
||||
}
|
||||
|
||||
std::optional<RayHit> LabelDrawable::Intersect(const Ray& ray) const
|
||||
{
|
||||
return ray.IntersectAABB(m_bbox);
|
||||
@@ -135,16 +119,9 @@ namespace OpenVulkano::Scene
|
||||
|
||||
void LabelDrawable::SetupBuffers()
|
||||
{
|
||||
m_billboardBuffer.size = sizeof(BillboardControlBlock);
|
||||
m_billboardBuffer.data = &m_billboardSettings;
|
||||
m_billboardBuffer.setId = 4;
|
||||
DescriptorSetLayoutBinding binding = UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING;
|
||||
binding.stageFlags = ShaderProgramType::Type::VERTEX;
|
||||
m_billboardBuffer.binding = binding;
|
||||
|
||||
m_labelBuffer.size = sizeof(LabelUniformData);
|
||||
m_labelBuffer.data = &m_labelData;
|
||||
m_labelBuffer.setId = 5;
|
||||
m_labelBuffer.setId = 4;
|
||||
m_labelBuffer.binding = UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user