Dear ImGui 1.93.0: The ImDrawList Overhaul Rewrites Line Rendering
By Indie Kings | October 26, 2026
Updated October 26, 2026: Dear ImGui 1.93.0 shipped on October 14 with a full overhaul of the ImDrawList rendering API by Mikko Mononen, the biggest change to how the library draws lines and shapes in years, and one that touches anyone doing custom rendering with it.
Image: Vectrex set via Wikimedia Commons.
The 1.93.0 release
The ocornut/imgui repository, which GitHub's API reports at 76,836 stars and 12,081 forks under the MIT license, tagged v1.93.0 on October 14, 2026, with demo binaries built the following day on the project's own download page. The release notes open with the effort's scale: the draw list work is courtesy of Mikko Mononen, the projection and rendering work the scene needed, with additional reviewing and guidance from Omar Cornut and legacy bits from other longtime contributors, and every merge reviewed by a single caring human. Changelogs aside, the notes carry something rare for a library: matching documentation, a Draw List reference wiki page with a precise list of differences against 1.92.9, a pixel perfect rendering guide, and an interactive 1.92.9 versus 1.93 troubleshooting testbed on the dearimgui.com site.
What changed in ImDrawList
The rendering now behaves much closer to common vector drawing APIs like the HTML canvas. Coordinates passed to the API consistently describe shape outlines, anti-aliased line endings were added, and reopened shapes get a proper stroke position choice: ImDrawFlags now expose StrokeInside, StrokeCenter, StrokeCenterBiased, StrokeOutside and StrokeLegacy, with closed shapes like rectangles and circles defaulting to Inside and lines and polylines to Center. Inside strokes are the payoff of the whole change, because a rectangle drawn with integer coordinates and any thickness is never blurry, and thick strokes now use corner miter calculation that keeps thickness consistent along segments, beveling to avoid long spikes where corners turn sharp. Rendering got faster too: shapes that fall on integer coordinates, which is most of the UI, skip anti-aliasing when it is not needed, and rounded corners draw from baked textures in the font atlas rather than tessellated geometry. The new code also fixes old inconsistencies between graphics APIs, so DirectX and OpenGL now draw the same shapes the same way.
The breaking changes worth knowing
ImDrawFlags and ImDrawListFlags are merged into one set of flags, round corner flags are renamed, and the sneaky half pixel offsets are gone: AddLine no longer adds plus 0.5 coordinates and AddCircle no longer subtracts half a pixel from its radius, which the notes admit seems scary but mostly is not, since AddLine was rare and the tidier AddLineH and AddLineV replacements arrived in 1.92.8. Inverted rectangles stop rendering without the legacy flag, AddRectFilled now anti-aliases non-integer coordinates, and a StrokeLegacy mode plus an io.ConfigDebugDrawListDefaultsToStrokeLegacy checkbox exist specifically to let teams diff old against new. Two more notes matter beyond graphics programmers: the signature change from 1.92.8 to the trailing parameters of AddRect, AddPolyline and PathStroke reaches non C++ bindings, which may only notice it at runtime, and the default dark and light styles were refreshed with grayer window backgrounds and brighter selected titles, so 1.93.0 apps look subtly different before any code change.
Release card
| Item | Detail |
|---|---|
| Release | Dear ImGui v1.93.0, tagged October 14, 2026 |
| Repo stats | 76,836 stars, 12,081 forks, MIT |
| Headline change | ImDrawList overhaul by Mikko Mononen |
| Stroke control | ImDrawFlags: Inside, Center, CenterBiased, Outside, Legacy |
| Defaults | Closed shapes stroke Inside, lines and polylines stroke Center |
| Deletes | AddLine half pixel offset, AddCircle radius offset, merged ImDrawListFlags |
| Optimizations | No AA skip on integer shapes, baked rounded corners, miter joins |
| Cross API fix | DirectX and OpenGL now render identically |
| Compatibility aids | StrokeLegacy flag, ConfigDebugDrawListDefaultsToStrokeLegacy checkbox, wiki diff reference, web testbed |
| Other fixes | Drag cancel via right click, Escape or gamepad triangle; space as AND in text filter; mixed values widgets; QNX Screen backend |
| Docs | Draw List wiki, pixel perfect guide, interactive 1.92.9 vs 1.93 testbed |
FAQ
What is Dear ImGui?
A bloat-free graphical user interface library for C++ that outputs optimized vertex buffers for any 3D pipeline, widely used for game engine tools, debuggers and profiling tools, under the MIT license.
What is the headline change in 1.93.0?
A complete overhaul of the ImDrawList rendering API by Mikko Mononen, aligning it with vector drawing conventions like the HTML canvas.
Will my app look different after upgrading?
Most widget UI stays identical or better; differences appear mainly in custom rendering code that called ImDrawList directly, and can be within half a pixel.
Can I keep the old rendering?
Yes, an ImDrawFlags_StrokeLegacy mode and an io.ConfigDebugDrawListDefaultsToStrokeLegacy toggle reproduce old behavior for comparison or legacy visual parity.
Are there breaking changes for non C++ users?
Yes, the 1.92.8 signature change to trailing parameters of AddRect, AddPolyline and PathStroke cannot be type checked in bindings, so callers in other languages must verify manually.
What went quieter under the hood?
Integer aligned shapes skip unneeded anti-aliasing and rounded corners use baked textures, cutting CPU work and vertex data on typical UIs.
Bottom Line
For years, pixel perfect custom rendering on ImGui meant memorizing where the library hid its half pixel fudges, and version 1.93.0 spends the library's massive reputation to stop doing that. Exposing stroke position as an explicit API choice, backing it with an interactive diff testbed and a checkbox to re-enable the old quirks is maintenance as it should be practiced: the change is honest about breaking something, resigned to the fact that half the codebase is commodity callers, and generous with the escape hatch.
Sources
- GitHub API release notes for ocornut/imgui v1.93.0 (October 14, 2026), including breaking changes and credits, accessed 26 October 2026
- GitHub ocornut/imgui docs README (pitch, backends and bindings, licensing), accessed 26 October 2026
Related: Cubyz: Zig Voxel Sandbox Rebuilt From Java With 3.7k Stars | TLG-Port: The Last Guardian Runs Native on Windows Without an Emulator