{"id":13731987,"url":"https://github.com/emilk/imgui_software_renderer","last_synced_at":"2025-07-26T03:08:54.668Z","repository":{"id":146962250,"uuid":"128663389","full_name":"emilk/imgui_software_renderer","owner":"emilk","description":"A Software Renderer for Dear ImGui","archived":false,"fork":false,"pushed_at":"2022-12-07T06:53:47.000Z","size":496,"stargazers_count":276,"open_issues_count":4,"forks_count":30,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-07-08T22:46:35.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emilk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-04-08T17:03:58.000Z","updated_at":"2025-06-03T07:36:02.000Z","dependencies_parsed_at":"2023-05-31T14:15:38.420Z","dependency_job_id":null,"html_url":"https://github.com/emilk/imgui_software_renderer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emilk/imgui_software_renderer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilk%2Fimgui_software_renderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilk%2Fimgui_software_renderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilk%2Fimgui_software_renderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilk%2Fimgui_software_renderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emilk","download_url":"https://codeload.github.com/emilk/imgui_software_renderer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emilk%2Fimgui_software_renderer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267109998,"owners_count":24037631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:01:43.140Z","updated_at":"2025-07-26T03:08:54.617Z","avatar_url":"https://github.com/emilk.png","language":"C++","readme":"# Dear ImGui software renderer\nThis is a software renderer for [Dear ImGui](https://github.com/ocornut/imgui).\nI built it not out of a specific need, but because it was fun.\nThe goal was to get something accurate and decently fast in not too many lines of code.\nIt renders a complex GUI in 1-10 milliseconds on a modern laptop.\n\n## What it is:\nAs the name implies, this is a software renderer for ImGui. It does not handle any windows or input. In the supplied example I use [SDL2](www.libsdl.org) for that.\n\n## How to use it\nJust copy `imgui_sw.hpp` and `imgui_sw.cpp`. There are no other dependencies beside Dear ImGui. Requires C++11.\n\n## How to test it\n```\ngit clone https://github.com/emilk/imgui_software_renderer.git\ncd imgui_software_renderer\ngit submodule update --init --recursive\n./build_and_run.sh\n```\n\nFor the example to work you will need to have SDL2 on your system.\n\n## Example:\nThis renders in 7 ms on my MacBook Pro:\n\n![Software rendered](screenshots/imgui_sw.png)\n\n## Alternatives\nThere is another software rasterizer for ImGui (which I did not know about when I wrote mine) at https://github.com/sronsse/imgui/tree/sw_rasterizer_example/examples/sdl_sw_example.\nI have not compared the two (yet).\n\n## Future work:\n* We do not yet support painting with any other texture than the default font texture.\n* Optimize rendering of gradient rectangles (common for color pickers)\n* Compare my software renderer to [the one by](https://github.com/sronsse/imgui/tree/sw_rasterizer_example/examples/sdl_sw_example) @sronsse\n\n## License:\nThis software is dual-licensed to the public domain and under the following\nlicense: you are granted a perpetual, irrevocable license to copy, modify,\npublish, and distribute this file as you see fit.\n","funding_links":[],"categories":["Graphics"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femilk%2Fimgui_software_renderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femilk%2Fimgui_software_renderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femilk%2Fimgui_software_renderer/lists"}