• Stars
    star
    192
  • Rank 201,127 (Top 4 %)
  • Language
    C#
  • License
    GNU Affero Genera...
  • Created about 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Immediate Mode GUI for C#

Hello ImGui,

Hello ImGui is an immediate mode GUI library inspired by IMGUI of Unity3D and dear imgui.

It's still a work in progress.

code sample

Now it runs on Win10, Linux(Ubuntu 16.04) and Android. See platforms. Mac and iPhone are not supported because I don't have them.

Get Started

Windows and Linux

  1. Clone ImGui
git clone https://github.com/zwcloud/ImGui.git
  1. Create a .NET7 console project and reference ImGui.
mkdir MyImGuiApp

Create MyImGuiApp.csproj with following content:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>exe</OutputType>
    <TargetFramework>net7.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include=".\ImGui\src\ImGui\ImGui.csproj" />
  </ItemGroup>
</Project>
  1. Add Program.cs to your project,

    using ImGui;
    var demo = new Demo();
    Application.Run(new Form(new Rect(320, 180, 1280, 720)), () =>
    {
        demo.OnGUI();
        ImGui.GUILayout.Label("Hello, ImGui!");
    });
  2. Build your project

  3. Run

    • run with Visual Studio 2022: Press F5
    • run on Windows/Linux:
      cd MyImGuiApp
      dotnet MyApp.dll
      
  4. Exit

    Press Esc or click the close button of the window.

Android

  1. Copy Android Templates project. Referenced shared project Demo can be removed if not needed.
  2. Add your GUI code in MainForm.OnGUI.
  3. Build and deploy it to your Android device.

Documentation

For now, please refer to the shared project Demo for how to use Hello ImGui.

Dependency

  • Xamarin.Android: Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C#. It mainly provides C# runtime for ImGui.

Credits

ImGui doesn't depend on following projects, some code used by ImGui are taken from them.

  • BigGustave: Open, read and create PNG images in fully managed C#.
  • Typography: C# Font Reader (TrueType / OpenType / OpenFont) , Glyphs Layout and Rendering
  • OpenTK: low-level C# wrapper for OpenGL
  • CSharpGL: Object Oriented OpenGL in C#

Droid Sans and Terminus TTF fount, see fonts/ReadMe.

License

Hello ImGui is licensed under the AGPL License, see LICENSE for more information.

More Repositories

1

CairoSharp

A C# wrapper of cairo http://cairographics.org/
C
66
star
2

Unity3D-miscellaneous

All kinds of useful things about Unity3D
C#
24
star
3

AssetStoreTools

An improved version of the offical Unity3D asset store tools.
C#
18
star
4

FBXViewer

A FBX file viewer including a 3D model information extracter
C++
15
star
5

CSharpWasmSamples

C# WebAssembly samples
C#
14
star
6

MinimalCSharpWasmWebGL-NativeAOT-LLVM

a minimal example of C# wasm WebGL app based on NativeAOT-LLVM WebAssembly
C
13
star
7

OpenGLOutline

several OpenGL outline implementations
C++
12
star
8

CSharpPathTracer

A naive path tracing (global illumination) implementation written in C#.
C#
11
star
9

DWriteSharp

a C# wrapper of DirectWrite
C#
10
star
10

OpenGLPBR

Physically-based rendering implementation based on OpenGL 3.3
C++
8
star
11

WindowsPager

This is a unofficial WindowsPager repository. WindowsPager is a desktop-switcher/pager for Windows to manage 'virtual' workspaces/desktops.
C++
5
star
12

MeshTerrainEditor-issues

Mesh Terrain Editor issue tracking and online docs
5
star
13

3DTiles-for-Unity

a demo of streaming massive 3d models for Unity
4
star
14

unity-arkit-plugin

a mirror of https://bitbucket.org/Unity-Technologies/unity-arkit-plugin
C#
3
star
15

FbxReader

just another fbx extractor in C
C++
3
star
16

3DGraphicsDevTools

a list of useful tools when developing a 3D graphics application
3
star
17

XcbSharp

a C# wrapper of Xcb
C#
3
star
18

OpenGLES-FrameBufferFetch

an OpenGLES 3.1 deferred shading demo demonstrate the usage of shader framebuffer fetch extensions
C
3
star
19

CSharpGL.Core

A core edition of the CSharpGL library (https://github.com/bitzhuwei/CSharpGL).
C#
2
star
20

OpenGLTemplates

Some OpenGL template codes.
C
2
star
21

three.js-demos

my three.js demos
JavaScript
2
star
22

GeometryAlgorithms

several geometry algorithms implemented in C#
C#
2
star
23

NancyFxViaAspNetCore

A template project that Use NancyFx 1.4.4 version routing instead of regular MVC.
C#
2
star
24

ZWCloud.DwriteCairo

a dwrite text layout backend and helper for cairo
C
1
star
25

Unity3D-Extensions

Extension sctipts wrote for Unity3D
C#
1
star
26

ASEShaders

some random experimental ASE shaders
ShaderLab
1
star
27

PangoSharp

A C# wrapper of pango http://www.pango.org/
C#
1
star
28

OpenGLES-Demos

experimental demos on OpenGLES 3.0+
C
1
star
29

EmbededListView

a demo of embeded QML list with embeded C++ QAbstractListModel
C++
1
star
30

CrossPlatformDotnetUI

a list of cross-platform dotnet user interface libraries and frameworks
1
star