/rlImGui-cs

A Raylib-cs integration with DearImGui

Primary LanguageC#zlib LicenseZlib

rlImGui-cs (raylib cs 6.0 compatible version, WIP)

A Raylib-cs integration with DearImGui

rlImgui-cs provides a backend for Dear ImGui using Raylib for C# using https://github.com/mellinoe/ImGui.NET

Building

rlImGui-cs is is a shared library that uses raylib-cs and ImGui.Net

Dependencies

This library is dependent on two other packages.

Raylib-cs (v 6.0.0) ImGui.NET (v 1.90.1.1)

Setup

Using rlImGui in your code is very easy. Once you have included the library, or source files for rlImGui and ImGui in your project, simply do the following.

using Raylib_cs;
using rlImGui_cs;
using ImGuiNET;


// before your game loop
rlImGui.Setup(true);	// sets up ImGui with ether a dark or light default theme

// inside your game loop, between BeginDrawing() and EndDrawing()
rlImGui.Begin();			// starts the ImGui content mode. Make all ImGui calls after this

rlImGui.End();			// ends the ImGui content mode. Make all ImGui calls before this

// after your game loop is over, before you close the window

rlImGui.Shutdown();		// cleans up ImGui

Examples

There are two example programs in the examples folder.

Simple

This is the most simple use of ImGui in raylib, it just shows the ImGui demo window. image

Editor

This is a more complex example of ImGui, showing how to use raylib 2d and 3d cameras to draw into ImGui windows using render textures. image

Images

Raylib textures can be drawn in ImGui using the following functions

rlImGui.Image(Texture2D image);
rlImGui.ImageSize(Texture2D image, int width, int height);
rlImGui.ImageRect(Texture2D image, int destWidth, int destHeight, Rectangle sourceRect);
rlImGui.ImageRenderTexture(RenderTexture2D image);

Image Buttons

rlImGui.ImageButton(System.String name, Texture2D image);
rlImGui.ImageButtonSize(System.String name, Texture2D image, Vector2 size);

Changelist

v1.0.2.0

  • Comment public API
  • Optional Delta Time argument for new frame
  • Image Buttons
  • Render Texture drawing functiona

v1.0.0.1

  • Inital nuget package.
  • Update to current ImGui
  • Include FontAwesome