Skip to content
This repository has been archived by the owner on Dec 31, 2022. It is now read-only.

inkyblackness/imgui-go-examples

Repository files navigation

Examples of Dear ImGui for Go

Go Report Card Lint Status

Discontinued

This repository is no longer maintained as per 2022-12-31. Please refer to the README of the main repository for details and alternatives: https://github.com/inkyblackness/imgui-go .

--

This project contains a set of Go examples for imgui-go, which is a wrapper for Dear ImGui.

It provides reference implementations on how to use and integrate Dear ImGui in Go.

Screenshot

Layout

The project follows the basic concept of the examples of Dear ImGui by separating platform and renderer bindings from the example applications that wire them together in compatible constellations.

  • cmd contains the main functions of the example applications. They typically combine a platform with a renderer.
  • internal contains the reusable library components
    • platforms contains code for mouse/keyboard/gamepad inputs, cursor shape, timing, windowing. For example based on: GLFW3 and SDL2.
    • renderers contains code for creating the main font texture, rendering imgui draw data. For example using: OpenGL (both v2.1 (fixed pipe) and v3.2 (shaders) via glow generated binding code)
    • example contains the common example code.
    • demo contains the ported imgui_demo.cpp code to showcase what is wrapped.

Running examples

Some platforms and/or renderers may require dedicated build flags to be passed. Each example comes with a separate README.md that describes how to run them.

Build flags are used in order to avoid compiling all the libraries at once.

License

The project is available under the terms of the New BSD License (see LICENSE file).