{"id":25818905,"url":"https://github.com/pacheco95/khronos-vulkan-tutorial-cpp","last_synced_at":"2025-10-30T21:03:43.635Z","repository":{"id":207934679,"uuid":"719816295","full_name":"Pacheco95/khronos-vulkan-tutorial-cpp","owner":"Pacheco95","description":"Implementation of the original Khronos Vulkan Tutorial using the C++ binding","archived":false,"fork":false,"pushed_at":"2023-11-26T12:28:33.000Z","size":1341,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-26T15:51:08.545Z","etag":null,"topics":["cplusplus","cpp","cpp-bindings","game-development","game-engine","khronos","khronosgroup","rendering-2d-graphics","rendering-3d-graphics","rendering-engine","tutorial","vulkan","vulkan-engine","vulkan-game-engine","vulkan-sdk"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pacheco95.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}},"created_at":"2023-11-17T00:40:17.000Z","updated_at":"2023-11-20T02:17:23.000Z","dependencies_parsed_at":"2023-11-18T15:45:46.215Z","dependency_job_id":null,"html_url":"https://github.com/Pacheco95/khronos-vulkan-tutorial-cpp","commit_stats":null,"previous_names":["pacheco95/khronos-vulkan-tutorial-cpp"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pacheco95%2Fkhronos-vulkan-tutorial-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pacheco95%2Fkhronos-vulkan-tutorial-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pacheco95%2Fkhronos-vulkan-tutorial-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pacheco95%2Fkhronos-vulkan-tutorial-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pacheco95","download_url":"https://codeload.github.com/Pacheco95/khronos-vulkan-tutorial-cpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241122254,"owners_count":19913438,"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","cpp","cpp-bindings","game-development","game-engine","khronos","khronosgroup","rendering-2d-graphics","rendering-3d-graphics","rendering-engine","tutorial","vulkan","vulkan-engine","vulkan-game-engine","vulkan-sdk"],"created_at":"2025-02-28T08:14:04.575Z","updated_at":"2025-10-30T21:03:43.623Z","avatar_url":"https://github.com/Pacheco95.png","language":null,"readme":"# Khronos Tutorial for C++\n\nReimplementation of the original\n[C tutorial](https://docs.vulkan.org/tutorial/latest/00_Introduction.html)\nusing the [Vulkan-Hpp](https://github.com/KhronosGroup/Vulkan-Hpp) binding.\n\nFor the sake of simplicity and compatibility with the original version, this\ntutorial will not use unique handles nor RAII handles.\nAll resources will be created/released by hand.\n\n**Each [chapter](https://github.com/Pacheco95/khronos-vulkan-tutorial-cpp#chapters) will be developed in a separated\nbranch**.\nThus, it will be easier to find a specific change from one chapter to another, and we'll not pollute the code with a\nbunch of macros.\nI also separated branches for each platform.\nThe tutorial guide for linux wil be in a branch named `linux/...`.\n**Those branches will never be merged into `main` due to platform differences**.\n\n\u003e [!IMPORTANT]\n\u003e Use the main branch only as a guidance.\n\u003e The actual implementations will be in separated branches for each platform for each chapter.\n\nI did the entire tutorial on linux, thus I'll only implement for the linux branch, but you probably will be able to\nbuild for other platforms without much effort.\nFeel free to send PRs for other platforms.\n\nProbably I'll make some adjustments on the original code to keep the code readable.\nPutting everything in a single class is not a good practice, and you will probably find it difficult to see the\nrelationship between Vulkan objects this way.\nAll adjustments will be pointed on its section in the README.md file.\n\n### Implementations\n\n- [Linux](https://github.com/Pacheco95/khronos-vulkan-tutorial-cpp/tree/linux-summary)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacheco95%2Fkhronos-vulkan-tutorial-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpacheco95%2Fkhronos-vulkan-tutorial-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacheco95%2Fkhronos-vulkan-tutorial-cpp/lists"}