{"id":13721951,"url":"https://github.com/lexfn/demos","last_synced_at":"2025-12-27T12:59:25.364Z","repository":{"id":149496195,"uuid":"57956684","full_name":"lexfn/demos","owner":"lexfn","description":"Simple OpenGL and Vulkan graphics demos in C++","archived":false,"fork":false,"pushed_at":"2024-06-24T13:59:07.000Z","size":14649,"stargazers_count":48,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-05T18:37:47.177Z","etag":null,"topics":["cplusplus-14","graphics-demo","imgui","opengl","stb-image","stb-truetype","vulkan"],"latest_commit_sha":null,"homepage":"","language":"CMake","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/lexfn.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,"publiccode":null,"codemeta":null}},"created_at":"2016-05-03T09:16:43.000Z","updated_at":"2025-04-15T03:28:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb4455d7-951e-4e70-a104-d15df2418cb3","html_url":"https://github.com/lexfn/demos","commit_stats":null,"previous_names":["lexfn/demos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexfn%2Fdemos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexfn%2Fdemos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexfn%2Fdemos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexfn%2Fdemos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lexfn","download_url":"https://codeload.github.com/lexfn/demos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252895541,"owners_count":21821179,"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","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":["cplusplus-14","graphics-demo","imgui","opengl","stb-image","stb-truetype","vulkan"],"created_at":"2024-08-03T01:01:23.042Z","updated_at":"2025-12-27T12:59:25.357Z","avatar_url":"https://github.com/lexfn.png","language":"CMake","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# About\r\nGraphics demos I made for playing around and learning. The code is (hopefully) clean and self-documented,\r\nmost dependencies are included for easier building.\r\n\r\nThere are no complex abstractions aka \"engine\", however a small library of shared code is still used.\r\nThe goal is to keep things easy to understand while taking away some of the boilerplate.\r\n\r\nAll demos are intended to run on Windows and were not tested on other systems.\r\n\r\nCheck also https://github.com/0xc0dec/demo-rs - an alternative experiment in Rust.\r\n\r\n# Building and running\r\n* Install Vulkan SDK. Make sure the VULKAN_SDK environment variable is set.\r\n* `cd build`.\r\n* `cmake -G \"Visual Studio 16 2019\" -A x64 ..` (or the alternative for the current MSVS at the time).\r\n* Build using the generated IDE files.\r\n* Run executables from `build/bin/\u003cDebug|Release\u003e/`.\r\n\r\n# Controls\r\nSome demos use first person camera. Use `WASDQE` keys to move around and hold right mouse button to rotate.\r\n\r\n# Demos\r\n\r\n## [Dear ImGui](/demos/imgui) [VK/GL]\r\nBasic [Dear ImGui](https://github.com/ocornut/imgui) integration example.\r\n\r\n![Image](/demos/imgui/screenshot.png?raw=true)\r\n\r\n## [Transform](/demos/transform) [GL]\r\nObject transform hierarchies and (first person) camera via reusable [`Transform`](demos/common/Transform.h) and [`Camera`](demos/common/Camera.h) classes and a helper [spectator function](demos/common/Spectator.h).\r\n\r\n![Image](/demos/transform/screenshot.png?raw=true)\r\n\r\n## [Skybox](/demos/skybox) [GL]\r\nSkybox rendering on a single quad mesh using a bit of shader magic.\r\n\r\n![Image](/demos/skybox/screenshot.png?raw=true)\r\n\r\n## [TrueType](/demos/stb-truetype) [GL]\r\nTrueType font rendering using [stb_truetype](https://github.com/nothings/stb) library.\r\n\r\n![Image](/demos/stb-truetype/screenshot.png?raw=true)\r\n\r\n## To be continued?...\r\n\r\n# Dependencies\r\n* stb_truetype\r\n* stb_image\r\n* SDL\r\n* GLEW\r\n* glm\r\n* Dear ImGui\r\n* Vulkan\r\n* OpenGL\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexfn%2Fdemos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexfn%2Fdemos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexfn%2Fdemos/lists"}