{"id":25908294,"url":"https://github.com/dinau/igruby_examples","last_synced_at":"2026-06-20T12:33:25.816Z","repository":{"id":275380652,"uuid":"925615968","full_name":"dinau/igruby_examples","owner":"dinau","description":"Some examples for ruby-imgui","archived":false,"fork":false,"pushed_at":"2025-10-04T10:45:46.000Z","size":21448,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T12:26:50.751Z","etag":null,"topics":["aibika","awesome","cimgui","dear-imgui","examples","executable","gui","imgui","imguifiledialog","imguizmo","imknobs","imnodes","implot","implot3d","imspinner","imtoggle","ruby","stb"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-01T10:02:01.000Z","updated_at":"2025-10-04T10:45:49.000Z","dependencies_parsed_at":"2025-09-16T13:09:43.463Z","dependency_job_id":"fdbce7eb-58ae-4775-9291-9d358144fd43","html_url":"https://github.com/dinau/igruby_examples","commit_stats":null,"previous_names":["dinau/igruby_examples"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/dinau/igruby_examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinau%2Figruby_examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinau%2Figruby_examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinau%2Figruby_examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinau%2Figruby_examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinau","download_url":"https://codeload.github.com/dinau/igruby_examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinau%2Figruby_examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34570537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"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":["aibika","awesome","cimgui","dear-imgui","examples","executable","gui","imgui","imguifiledialog","imguizmo","imknobs","imnodes","implot","implot3d","imspinner","imtoggle","ruby","stb"],"created_at":"2025-03-03T07:17:43.923Z","updated_at":"2026-06-20T12:33:25.810Z","avatar_url":"https://github.com/dinau.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [IgRuby Examples](#igruby-examples)\n  - [Prerequisites](#prerequisites)\n  - [Donwload and running examples on Windows OS](#donwload-and-running-examples-on-windows-os)\n  - [Snapshots](#snapshots)\n    - [ImGui-Toggle / CImGui-Toggle](#imgui-toggle--cimgui-toggle)\n    - [ImDrawList party](#imdrawlist-party)\n    - [ImGui-Knobs / CImGui-Knobs](#imgui-knobs--cimgui-knobs)\n    - [ImSpinner](#imspinner)\n    - [ImGuizmo / CImGuizmo](#imguizmo--cimguizmo)\n    - [ImGuiColorTextEdit / cimCTE](#imguicolortextedit--cimcte)\n    - [ImNodes / CImNodes](#imnodes--cimnodes)\n    - [ImGuiFileDialog](#imguifiledialog)\n    - [Iconfonts viewer](#iconfonts-viewer)\n    - [Image loading](#image-loading)\n    - [Showing CJK fonts](#showing-cjk-fonts)\n  - [For Linux x86_64](#for-linux-x86_64)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n### IgRuby Examples\n\n---\n\nRuby language + [Dear ImGui](https://github.com/ocornut/imgui) + Additional libraries and examples project\n\nSee [ruby-imgui-dev](https://github.com/dinau/ruby-imgui-dev) \n\n#### Prerequisites\n\n---\n\n✅ Windows11 or later  \n- Install [RubyInstaller + **Devkit** ](https://rubyinstaller.org/downloads/) 3.4.7 or later  \n  (You must install Devkit)\n\n✅  Linux OS x86_64 \n- Debian13 Trixie, Ubuntu families and Windows WSL2\n\n\n#### Donwload and running examples on Windows OS\n---\n\n1. Download `igruby_examples-1.9x.y-bdn.zip` from [Release page](https://github.com/dinau/igruby_examples/releases) then extract zip file.\n1. Execute bundler command,\n\n   ```sh\n   $ cd igruby_examples-1.91.8-bd2/igruby_examples\n   $ bundle install\n\n   Fetching gem metadata from https://rubygems.org/..\n   Resolving dependencies...\n   Bundle complete! 6 Gemfile dependencies, 9 gems now installed.\n   Use `bundle info [gemname]` to see where a bundled gem is installed.\n   ```\n\n   Note: Only supported under bundler enviroment at this moment \n\n1. Execute one of the example script,\n\n   ```sh\n   cd  glfw_opengl3\n   r.bat              # Or double click glfw_opengl3.rbw in Windows explorer\n                      # Ignore many warnings emmited in console window\n   ```\n\n\n#### Snapshots\n\n---\n\n\n\n##### ImGui-Toggle / CImGui-Toggle\n\n---\n\n[ImGui-Toggle](https://github.com/cmdwtf/imgui_toggle) / [CImGui-Toggle](https://github.com/dinau/cimgui_toggle)\n\n[glfw_opengl3_imtoggle.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_imtoggle/glfw_opengl3_imtoggle.rb)  \n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/imtoggle.png)  \n\n##### ImDrawList party \n\n---\n\nReference to [ImDrawList coding party - deadline Nov 30, 2020! #3606](https://github.com/ocornut/imgui/issues/3606)\n\n[imDrawListParty.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_imdrawlistparty/imDrawListParty.rb)  \n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/imdrawlistparty.gif)  \n\n##### ImGui-Knobs / CImGui-Knobs\n\n---\n\n[ImGui-Knobs](https://github.com/altschuler/imgui-knobs) / [CImGui-Knobs](https://github.com/dinau/cimgui-knobs)\n\n[glfw_opengl3_imknobs.rb](glfw_opengl3_imknobs/glfw_opengl3_imknobs.rb)\n\n![alt](img/imknobs.png)  \n\n##### ImSpinner \n\n---\n\n[ImSpinner](https://github.com/dalerank/imspinner)\n\n[glfw_opengl3_imspinner.rb](glfw_opengl3_imspinner/glfw_opengl3_imspinner.rb)  \n\nAmazing !\n\n![alt](img/imspinner.gif)\n\n\n##### ImGuizmo / CImGuizmo\n\n---\n\n[ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo) / [CImGuizmo](https://github.com/cimgui/cimguizmo)\n\n[glfw_opengl3_imguizmo.rb](glfw_opengl3_imguizmo/glfw_opengl3_imguizmo.rb)  \n\n![alt](img/imguizmo.png)\n\n##### ImGuiColorTextEdit / cimCTE\n\n---\n\n[ImGuiColorTextEdit](https://github.com/santaclose/ImGuiColorTextEdit) / [cimCTE](https://github.com/cimgui/cimCTE) \n\n[glfw_opengl3_imcolortextedit.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_imcolortextedit/glfw_opengl3_imcolortextedit.rb)  \n\n![alt](img/imcolortextedit.png)\n\n##### ImNodes / CImNodes\n\n---\n\n[ImNodes](https://github.com/Nelarius/imnodes) / [CImNodes](https://github.com/cimgui/cimnodes)\n\n[glfw_opengl3_imnodes.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_imnodes/glfw_opengl3_imnodes.rb)  \n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/imnodes.png)\n\n##### ImGuiFileDialog \n\n---\n\n[ImGuiFileDialog](https://github.com/aiekick/ImGuiFileDialog)\n\n[glfw_opengl3_imguifiledialog.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_imguifiledialog/glfw_opengl3_imguifiledialog.rb)  \n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/imguifiledialog.png)\n\n##### Iconfonts viewer\n\n---\n\n[glfw_opengl3_iconfont_viewer.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_iconfont_viewer/glfw_opengl3_iconfont_viewer.rb)\n\n![alt](img/iconfont_viewer.png)\n\n##### Image loading\n\n---\n\n[glfw_opengl3.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3/glfw_opengl3.rb)\n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/glfw_opengl3.gif)  \n\n##### Showing CJK fonts\n\n---\n\n[glfw_opengl3_jp.rb](https://github.com/dinau/igruby_examples/blob/main/glfw_opengl3_jp/glfw_opengl3_jp.rb)\n\n![alt](https://github.com/dinau/igruby_examples/raw/main/img/glfw_opengl3_jp.png)\n\n\n\n#### For Linux x86_64\n\n---\n1. Install tools \n\n   ```sh\n   $ sudo apt install clang git make ninja-build\n   $ sudo apt install lib{opengl-dev,gl1-mesa-dev,glfw3,glfw3-dev,xcursor-dev,xinerama-dev,xi-dev}\n   $ sudo apt install libsdl2-dev libsdl3-dev\n   ```\n\n1. Download files,\n\n   ```sh\n   $ pwd \n   my_dev_folder\n   $ git clone --recursive https://github.com/dinau/ruby-imgui-dev\n   $ git clone https://github.com/dinau/igruby_examples\n   ```\n   \n      Folder structure,\n   \n      ```txt\n      my_dev_folder\n       |--- igruby_examples\n       `--- ruby-imgui-dev\n      ```\n\n1. Generate imgui.so\n   \n   ```sh\n   $ cd ruby-imgui-dev/imgui_dll\n   $ make\n   ```\n\n   `imgui.so` file is generated in `ruby-imgui-dev/lib`\n   \n1. Install bundler\n\n   ```sh\n   $ sudo apt install ruby-dev gcc\n   $ gem install --user-install bundler\n   ```\n\n1. Set environment variable,\n\n   ```sh\n   export GEM_HOME =~/.local/share/gem/ruby/3.3.0/bin\n   ```\n\n   Part of the `3.3.0` depends on your system.\n\n1. Execute `bundle install`\n\n   ```sh\n   $ pwd \n   igruby_examples\n\n   $ bundle install\n\n   Fetching gem metadata from https://rubygems.org/..\n   Resolving dependencies...\n   Installing fiddle 1.1.8 with native extensions\n   Fetching opengl-bindings2 2.0.4\n   Installing opengl-bindings2 2.0.4\n   Bundle complete! 6 Gemfile dependencies, 9 gems now installed.\n   Use `bundle info [gemname]` to see where a bundled gem is installed.\n   ```\n\n1. Execute a example\n\n   ```sh\n   $ cd glfw_opengl3\n   $ sh r.sh \n   ```\n\n   or \n   \n   `$ chmod +x glfw_opengl3.rbw`  \n   then double click `glfw_opengl3.rbw` in your file explorer \n\n   or\n\n   `$ bundle exec ruby glfw_opengl3.rb` on your console\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinau%2Figruby_examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinau%2Figruby_examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinau%2Figruby_examples/lists"}