Skip to content

Basic Operations

Create a Viewer Instance

auto viewer = livision::Viewer::Instance({
    .headless = false,
    .vsync = true,
    .width = 1280,
    .height = 720,
});

Register Objects

AddObject accepts only std::shared_ptr<ObjectBase>.

auto sphere = livision::Sphere::Instance(
    {.pos = {0.0, 0.0, 1.0}, .scale = {2.0, 2.0, 2.0}});
sphere->SetColor(livision::color::cyan)->SetWireColor(livision::color::black);
viewer->AddObject(sphere);

Register ImGui Callback

viewer->RegisterUICallback([&]() {
  if (ImGui::Button("Close")) {
    viewer->Close();
  }
});

Main Loop

while (viewer->SpinOnce()) {
  // update object states here
}