Open ocornut opened 8 years ago
ImGui working in Direct3D8 (for an old project of mine). (Thanks to a friend of mine for helping with the clipping in d3d8.)
Low framerate due to being on my laptop.
@atom0s do you have some tutorials on directx 8 and below? I'd like to try programming in that :)
@citruslee It's exactly the same as D3D9 but without the Programming pipeline stuff. D3D8 header could be found in D3D SDK Jun 2010..
However this is the place of disscussion like that...
@citruslee Direct3D8 is very similar with Direct3D9 with some features missing. The main one that makes this a little rough being clipping / scissor rects. That has to be manually done via the projection matrix and view port.
The last SDK to include the Direct3D8 content was June 2010. The original Direct3D8 SDK file names are: dx80_sdk.exe DX81SDK_FULL.exe if you are looking for those via Google. (These have all the examples that are done in Direct3D8 etc.)
working on a voxel editor.
Using imgui as a editing gui for my engine
Ported most of the ImGui API to Lua for a project of mine, an injected hook with plugins and addons. (Plugins are C/C++ DLLs, addons are Lua based)
A starting port of the ImGui demo application to Lua in my addon system: https://gist.github.com/atom0s/188283e6ff097f37fa31400f22ec8762
Project is an injected hook into Final Fantasy XI (MMORPG) using Direct3D 8.
Edit:
7.01.2016 : Updated the above gist with newer .lua file. About 80% of the demo app is ported to Lua now.
I am making a 2d top view shooter game with Cocos2d-x. And this program can create game data such as position, type, tiling data, triggers. so it can help to make various game modes(like starcraft usemap editor).
Thanks to the convenience of ImGui, I was writing only a few algorithms(auto tiling, generate collision lines).
it is ported on Cocos2d-x game engine, so it can live test likes Unity3D. (I developed game on cocos2d-x so i tried.)
Good Luck!
This nice series of article where Ben Garney goes on writing a video chat system has been going around lately. His tech demo uses imgui: https://bengarney.com/2016/06/25/video-conference-part-1-these-things-suck/
I'm working on building prototypes for research into aesthetics of dynamic lighting controls. The nodes are bluetooth based and are coordinated by an openFrameworks app. The default ofGui is hard to prettify, so ofxImgui by @jvcleave to the rescue. I wrote a few utility functions to integrate into the openFrameworks ofParameter class and it's all good.
WIP and messy project is here: https://github.com/olekristensen/ledSynthMaster
Your theme is very nice, do you mind sharing ? what kind of font did you use ?
@v71 the formidable OpenSans
ImGuiIO& io = ImGui::GetIO();
io.Fonts->Clear();
io.Fonts->AddFontFromFileTTF(ofToDataPath("fonts/OpenSans-Light.ttf", true).c_str(), 16);
io.Fonts->AddFontFromFileTTF(ofToDataPath("fonts/OpenSans-Regular.ttf", true).c_str(), 16);
io.Fonts->AddFontFromFileTTF(ofToDataPath("fonts/OpenSans-Light.ttf", true).c_str(), 32);
io.Fonts->AddFontFromFileTTF(ofToDataPath("fonts/OpenSans-Regular.ttf", true).c_str(), 11);
io.Fonts->AddFontFromFileTTF(ofToDataPath("fonts/OpenSans-Bold.ttf", true).c_str(), 11);
io.Fonts->Build();
ImGuiStyle * style = &ImGui::GetStyle();
style->WindowPadding = ImVec2(15, 15);
style->WindowRounding = 5.0f;
style->FramePadding = ImVec2(5, 5);
style->FrameRounding = 4.0f;
style->ItemSpacing = ImVec2(12, 8);
style->ItemInnerSpacing = ImVec2(8, 6);
style->IndentSpacing = 25.0f;
style->ScrollbarSize = 15.0f;
style->ScrollbarRounding = 9.0f;
style->GrabMinSize = 5.0f;
style->GrabRounding = 3.0f;
style->Colors[ImGuiCol_Text] = ImVec4(0.40f, 0.39f, 0.38f, 1.00f);
style->Colors[ImGuiCol_TextDisabled] = ImVec4(0.40f, 0.39f, 0.38f, 0.77f);
style->Colors[ImGuiCol_WindowBg] = ImVec4(0.92f, 0.91f, 0.88f, 0.70f);
style->Colors[ImGuiCol_ChildWindowBg] = ImVec4(1.00f, 0.98f, 0.95f, 0.58f);
style->Colors[ImGuiCol_PopupBg] = ImVec4(0.92f, 0.91f, 0.88f, 0.92f);
style->Colors[ImGuiCol_Border] = ImVec4(0.84f, 0.83f, 0.80f, 0.65f);
style->Colors[ImGuiCol_BorderShadow] = ImVec4(0.92f, 0.91f, 0.88f, 0.00f);
style->Colors[ImGuiCol_FrameBg] = ImVec4(1.00f, 0.98f, 0.95f, 1.00f);
style->Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.99f, 1.00f, 0.40f, 0.78f);
style->Colors[ImGuiCol_FrameBgActive] = ImVec4(0.26f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_TitleBg] = ImVec4(1.00f, 0.98f, 0.95f, 1.00f);
style->Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(1.00f, 0.98f, 0.95f, 0.75f);
style->Colors[ImGuiCol_TitleBgActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_MenuBarBg] = ImVec4(1.00f, 0.98f, 0.95f, 0.47f);
style->Colors[ImGuiCol_ScrollbarBg] = ImVec4(1.00f, 0.98f, 0.95f, 1.00f);
style->Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.00f, 0.00f, 0.00f, 0.21f);
style->Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.90f, 0.91f, 0.00f, 0.78f);
style->Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_ComboBg] = ImVec4(1.00f, 0.98f, 0.95f, 1.00f);
style->Colors[ImGuiCol_CheckMark] = ImVec4(0.25f, 1.00f, 0.00f, 0.80f);
style->Colors[ImGuiCol_SliderGrab] = ImVec4(0.00f, 0.00f, 0.00f, 0.14f);
style->Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_Button] = ImVec4(0.00f, 0.00f, 0.00f, 0.14f);
style->Colors[ImGuiCol_ButtonHovered] = ImVec4(0.99f, 1.00f, 0.22f, 0.86f);
style->Colors[ImGuiCol_ButtonActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_Header] = ImVec4(0.25f, 1.00f, 0.00f, 0.76f);
style->Colors[ImGuiCol_HeaderHovered] = ImVec4(0.25f, 1.00f, 0.00f, 0.86f);
style->Colors[ImGuiCol_HeaderActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_Column] = ImVec4(0.00f, 0.00f, 0.00f, 0.32f);
style->Colors[ImGuiCol_ColumnHovered] = ImVec4(0.25f, 1.00f, 0.00f, 0.78f);
style->Colors[ImGuiCol_ColumnActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_ResizeGrip] = ImVec4(0.00f, 0.00f, 0.00f, 0.04f);
style->Colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.25f, 1.00f, 0.00f, 0.78f);
style->Colors[ImGuiCol_ResizeGripActive] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_CloseButton] = ImVec4(0.40f, 0.39f, 0.38f, 0.16f);
style->Colors[ImGuiCol_CloseButtonHovered] = ImVec4(0.40f, 0.39f, 0.38f, 0.39f);
style->Colors[ImGuiCol_CloseButtonActive] = ImVec4(0.40f, 0.39f, 0.38f, 1.00f);
style->Colors[ImGuiCol_PlotLines] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f);
style->Colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_PlotHistogram] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f);
style->Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
style->Colors[ImGuiCol_TextSelectedBg] = ImVec4(0.25f, 1.00f, 0.00f, 0.43f);
style->Colors[ImGuiCol_ModalWindowDarkening] = ImVec4(1.00f, 0.98f, 0.95f, 0.73f);
From the tools of Boundless ( http://playboundless.com/ )
Blog post by @eliasdaler: https://eliasdaler.github.io/using-imgui-with-sfml-pt1
Also the second part. :)
Untitled game by @gimblll
More Lumix Engine
OpenBoardViewer https://github.com/OpenBoardView/OpenBoardView
WalrusRPG
A mine-game for Dear ImGui:
Vulkan static pipeline layout editor
Vulkan spirv binary decompiler & viewer
More from http://playboundless.com from looking at their forum (game is on early access, tools are open I think?)
https://forum.playboundless.com/t/weekly-dev-update-2016-april-15th-c-regen-machines-creatures-gui-more/4216 https://forum.playboundless.com/t/building-worlds-and-biomes-for-boundless/4601
This is a very primitive offline clone of Shadertoy. It parses the uniforms from a fragment shader and lets you edit them in realtime (by dragging). Link: https://github.com/fabioarnold/TwoTriangles
@fabioarnold Nice, very good idea! Posting some thoughts on your Github :)
Really simple dot graph thingy.
#include "imgui.h"
#define IMGUI_DEFINE_MATH_OPERATORS
#include "imgui_internal.h"
namespace ImGui
{
int PlotDots(const char *label, const ImVec2& size, int maxpoints, ImVec2 *points)
{
int i;
if (maxpoints < 1)
return 0;
ImGuiWindow* window = GetCurrentWindow();
ImGuiContext& g = *GImGui;
const ImGuiStyle& style = g.Style;
const ImGuiID id = window->GetID(label);
if (window->SkipItems)
return 0;
ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size);
ItemSize(bb);
if (!ItemAdd(bb, NULL))
return 0;
RenderFrame(bb.Min, bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding);
float ht = bb.Max.y - bb.Min.y;
float wd = bb.Max.x - bb.Min.x;
// dots
for (i = 0; i < maxpoints; i++)
{
ImVec2 a = points[i];
if (a.x >= 0 && a.x <= 1 && a.y >= 0&& a.y <= 1)
{
a = a * (bb.Max - bb.Min) + bb.Min;
ImVec2 b = a + ImVec2(1.5, 1.5);
window->DrawList->AddRectFilled(a, b, GetColorU32(ImGuiCol_PlotLines));
}
}
RenderTextClipped(ImVec2(bb.Min.x, bb.Min.y + style.FramePadding.y), bb.Max, label, NULL, NULL, ImGuiAlign_Center);
return 0;
}
};
This is Part 2. I am splitting issues to reduce loading times and locked the old ones.
Screenshots Part 1 #123 Screenshots Part 2 #539 Screenshots Part 3 #772 Screenshots Part 4 #973 Screenshots Part 5 #1269 Screenshots Part 6 #1607 Screenshots Part 7 #1902 Screenshots Part 8 #2265 Screenshots Part 9 #2529 Also see: Software using dear imgui (you can help complete the list!)
This is Part 2, I am splitting issues to reduce loading times and avoid github collapsing messages.
Browse all threads and find latest one to post to using the gallery label.
Also see: Software using dear imgui (you can help complete the list!)
You can post your screenshots here!