Ejemplo n.º 1
0
///////////////////////// Game::init ////////////////////////////////////////
void Game::init(VkPhysicalDevice physicaldevice, VkDevice device, VkQueue renderqueue, uint32_t renderqueuefamily, VkQueue transferqueue, uint32_t transferqueuefamily)
{
  game_init = example_init;
  game_resize = example_resize;
  game_update = example_update;
  game_render = example_render;

  if (!game_init || !game_resize || !game_update || !game_render)
    throw std::runtime_error("Unable to init game code");

  RenderDevice renderdevice = {};
  renderdevice.device = device;
  renderdevice.physicaldevice = physicaldevice;
  renderdevice.queues[0] = { renderqueue, renderqueuefamily };
  renderdevice.queues[1] = { transferqueue, transferqueuefamily };

  m_platform.initialise(renderdevice, 256*1024*1024, 16*1024*1024);

  game_init(m_platform);

  m_running = true;
}