Exemplo n.º 1
0
void ComputeShaderDispatcher::Dispatch(u32 groups_x, u32 groups_y, u32 groups_z)
{
  BindDescriptors();
  if (!BindPipeline())
    return;

  vkCmdDispatch(m_command_buffer, groups_x, groups_y, groups_z);
}
Exemplo n.º 2
0
void UtilityShaderDraw::Draw()
{
  BindVertexBuffer();
  BindDescriptors();
  if (!BindPipeline())
    return;

  vkCmdDraw(m_command_buffer, m_vertex_count, 1, 0, 0);
}
Exemplo n.º 3
0
void UtilityShaderDraw::DrawWithoutVertexBuffer(u32 vertex_count)
{
  m_pipeline_info.vertex_format = nullptr;

  BindDescriptors();
  if (!BindPipeline())
    return;

  vkCmdDraw(m_command_buffer, vertex_count, 1, 0, 0);
}
Exemplo n.º 4
0
void UtilityShaderDraw::DrawWithoutVertexBuffer(VkPrimitiveTopology primitive_topology,
                                                u32 vertex_count)
{
  m_pipeline_info.vertex_format = nullptr;
  m_pipeline_info.primitive_topology = primitive_topology;

  BindDescriptors();
  if (!BindPipeline())
    return;

  vkCmdDraw(m_command_buffer, vertex_count, 1, 0, 0);
}