rlImgui-cs provides a backend for Dear ImGui using Raylib for C# using https://github.com/mellinoe/ImGui.NET
rlImGui-cs is is a shared library that uses raylib-cs and ImGui.Net
This library is dependent on two other packages.
Raylib-cs (v 6.0.0) ImGui.NET (v 1.90.1.1)
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
There are two example programs in the examples folder.
This is the most simple use of ImGui in raylib, it just shows the ImGui demo window.
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.
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);
rlImGui.ImageButton(System.String name, Texture2D image);
rlImGui.ImageButtonSize(System.String name, Texture2D image, Vector2 size);
- Comment public API
- Optional Delta Time argument for new frame
- Image Buttons
- Render Texture drawing functiona
- Inital nuget package.
- Update to current ImGui
- Include FontAwesome