{"id":18655403,"url":"https://github.com/emredogann/aspen-renderer","last_synced_at":"2026-06-20T16:32:29.943Z","repository":{"id":163738513,"uuid":"428564238","full_name":"EmreDogann/Aspen-Renderer","owner":"EmreDogann","description":"A 3D Real-Time Ray Traced Graphics Renderer using Vulkan.","archived":false,"fork":false,"pushed_at":"2023-02-23T02:15:49.000Z","size":8479,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T19:39:41.800Z","etag":null,"topics":["cmake","cpp","glfw","glm","graphics","mingw-w64","vulkan"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmreDogann.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}},"created_at":"2021-11-16T07:50:07.000Z","updated_at":"2025-10-16T20:20:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"09536dc3-4fc6-4c64-bca3-120c2325a826","html_url":"https://github.com/EmreDogann/Aspen-Renderer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EmreDogann/Aspen-Renderer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmreDogann%2FAspen-Renderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmreDogann%2FAspen-Renderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmreDogann%2FAspen-Renderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmreDogann%2FAspen-Renderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmreDogann","download_url":"https://codeload.github.com/EmreDogann/Aspen-Renderer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmreDogann%2FAspen-Renderer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34578089,"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":["cmake","cpp","glfw","glm","graphics","mingw-w64","vulkan"],"created_at":"2024-11-07T07:18:37.073Z","updated_at":"2026-06-20T16:32:29.921Z","avatar_url":"https://github.com/EmreDogann.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aspen Renderer [![License Apache 2.0](https://img.shields.io/github/license/EmreDogann/Aspen-Renderer)](https://github.com/EmreDogann/Aspen-Renderer/blob/master/LICENSE) ![Platform Windows](https://img.shields.io/badge/platform-Windows-informational)\n\nApsen is a forward rendered 3D Real-Time Ray Traced graphics renderer written in C++ using Vulkan.\n\n\u003cp align=\"center\"\u003e\n  \u003c!--\u003cimg src=\"https://media.giphy.com/media/L9yhcWRevPCFhAeJ6o/giphy.gif\"/\u003e--\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/48212096/190880329-cbc1816b-16e8-4b2a-9738-1d9b54cb09f2.png\"/\u003e\n\u003c/p\u003e\n\n# About \nThis project was done to explore the Vulkan API and learn more about the underlying graphics hardware and pipeline systems in place to perform rasterization and ray tracing rendering.\n\nThis is not intended to be an engine, just a graphics renderer using rasterization and ray tracing.\n\n# Getting Started\n**Note: This project is currently targeting Windows platforms only.**\n\nFirst, clone the repository using:\n```bash\ngit clone --recursive https://github.com/EmreDogann/Aspen-Renderer.git\n```\nIf you cloned the repository non-recursively before then run the command below to clone the submodules:\n```bash\ngit submodule update --init\n```\n\nThe following must be installed:\n- [CMake (v3.21+)](https://cmake.org/download/) - I recommend the `Windows x64 Installer` as it can automatically add its /bin folder to the system PATH environment variable, otherwise you will have to do this manually with the .zip version\n- [Vulkan SDK (v1.2.189.2+)](https://vulkan.lunarg.com/) - Recommended to install in the default location. Use the `SDK Installer` instead of the runtime/zip file.\n- MinGW-w64 (Read Below)\n\nThere are two different ways to download MinGW-w64:\n1. [MinGW-w64 Standalone Build](https://winlibs.com/) - I've tested it with the **Release Version**, **UCRT Runtime**, **11.2.0 Win64 build**.\n\nThis is a standalone build created by Brecht Sanders. This is the easier/quicker way as all you need to do is download the .7z/.zip, extract it to a folder somewhere on your system, then add the path of your `mingw64/bin` folder to your environment PATH variable.\n\nOR\n\n2. [MinGW-w64 through MSYS2](https://www.msys2.org/)\n\nThis provides you with an up-to-date version of GCC for Windows. The process to install it is slightly more involved than the first option, but this method can act as a package manager for keeping GCC up-to-date along with other packages you decide to install through it.\n\n**Once again, after following all the installation instructions, don't forget to add the path to the `msys64/mingw64/bin` folder to your environment PATH variable.**\n\n# Usage\nTo build this project, once all the above requirements have been met, go through the following:\n\n```bash\ncd ./Aspen-Renderer/\n\nmkdir ./build\n\ncd ./build/\n\ncmake .. -G \"MinGW Makefiles\"\n\ncmake --build . --config Release\n```\n\nAfter this there should be a `aspen-vulkan-renderer.exe` executable in the `/builds` folder. Running that executable will start up the renderer.\n\n## Other Dependencies\n\n- [GLFW](https://github.com/glfw/glfw) - For platform-specific window management.\n- [GLM](https://github.com/g-truc/glm) - For Maths computations used for rendering.\n- [EnTT](https://github.com/skypjack/entt) - Used for implementation of an ECS.\n- [ImGui](https://github.com/ocornut/imgui/tree/docking) - Used for UI (**docking** branch is used).\n- [ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo) - Used for gizmos.\n- [Tinyobjloader](https://github.com/tinyobjloader/tinyobjloader) - Used to load .obj models.\n- [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h) - Used to load images from a file/memory.\n\n# Credit\nSome code samples/system design for this project was adapted from:\n\n- [Brendan Galea's Vulkan Game Engine Series](https://www.youtube.com/watch?v=Y9U9IE0gVHA\u0026list=PL8327DO66nu9qYVKLDmdLW_84-yE4auCR) - Used as basis for the design of the renderer.\n- [The Cherno's Hazle Engine](https://github.com/TheCherno/Hazel) - Event system, Entity Component System design.\n- [Vulkan Tutorial (By Alexander Overvoorde)](https://vulkan-tutorial.com/) - Vulkan theory and boilerplate.\n- [Sasha Willems' Vulkan Samples](https://github.com/SaschaWillems/Vulkan) - Base classes such as Buffer and Framebuffer.\n\n# License\n[Apache 2.0](https://github.com/EmreDogann/Aspen-Renderer/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femredogann%2Faspen-renderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femredogann%2Faspen-renderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femredogann%2Faspen-renderer/lists"}