Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inkyblackness/imgui-go-examples
Examples of Dear ImGui for Go
https://github.com/inkyblackness/imgui-go-examples
dear-imgui examples go golang gui hacktoberfest imgui toolkit ui
Last synced: 13 days ago
JSON representation
Examples of Dear ImGui for Go
- Host: GitHub
- URL: https://github.com/inkyblackness/imgui-go-examples
- Owner: inkyblackness
- License: other
- Archived: true
- Created: 2019-02-17T20:16:37.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-12-31T13:00:10.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T11:15:25.716Z (4 months ago)
- Topics: dear-imgui, examples, go, golang, gui, hacktoberfest, imgui, toolkit, ui
- Language: Go
- Homepage:
- Size: 608 KB
- Stars: 95
- Watchers: 5
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Examples of Dear ImGui for Go
[![Go Report Card](https://goreportcard.com/badge/github.com/inkyblackness/imgui-go-examples)](https://goreportcard.com/report/github.com/inkyblackness/imgui-go-examples)
[![Lint Status](https://github.com/inkyblackness/imgui-go-examples/workflows/golangci-lint/badge.svg)](https://github.com/inkyblackness/imgui-go-examples/actions)## 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](https://www.golang.org) examples for [imgui-go](https://github.com/inkyblackness/imgui-go), which is a wrapper for [**Dear ImGui**](https://github.com/ocornut/imgui).
It provides reference implementations on how to use and integrate **Dear ImGui** in Go.
![Screenshot](assets/screenshot.png)
## 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](https://github.com/go-gl/glfw) and [SDL2](https://github.com/veandco/go-sdl2).
* `renderers` contains code for creating the main font texture, rendering imgui draw data. For example using: [OpenGL](https://github.com/go-gl) (both v2.1 (fixed pipe) and v3.2 (shaders) via [glow](https://github.com/go-gl/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).