{"id":29091264,"url":"https://github.com/mysvac/vulkan-hpp-tutorial","last_synced_at":"2026-03-16T18:34:40.270Z","repository":{"id":292494367,"uuid":"981070485","full_name":"Mysvac/vulkan-hpp-tutorial","owner":"Mysvac","description":"现代 C++ 的 Vulkan 基础教程，使用 vulkan-hpp 封装。","archived":false,"fork":false,"pushed_at":"2025-07-15T15:36:10.000Z","size":15940,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-15T16:54:26.876Z","etag":null,"topics":["cpp20","vulkan","vulkan-hpp","vulkan-hpp-raii","vulkan-tutorial"],"latest_commit_sha":null,"homepage":"https://mysvac.github.io/vulkan-hpp-tutorial/","language":"C++","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/Mysvac.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}},"created_at":"2025-05-10T09:18:01.000Z","updated_at":"2025-07-15T15:36:13.000Z","dependencies_parsed_at":"2025-05-10T10:33:25.528Z","dependency_job_id":"065f39ff-3dc8-4c5b-a8c7-e325cdb248a6","html_url":"https://github.com/Mysvac/vulkan-hpp-tutorial","commit_stats":null,"previous_names":["mysvac/vulkan-hpp-tutorial"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Mysvac/vulkan-hpp-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mysvac%2Fvulkan-hpp-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mysvac%2Fvulkan-hpp-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mysvac%2Fvulkan-hpp-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mysvac%2Fvulkan-hpp-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mysvac","download_url":"https://codeload.github.com/Mysvac/vulkan-hpp-tutorial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mysvac%2Fvulkan-hpp-tutorial/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267785898,"owners_count":24144124,"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-29T02:00:12.549Z","response_time":2574,"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":["cpp20","vulkan","vulkan-hpp","vulkan-hpp-raii","vulkan-tutorial"],"created_at":"2025-06-28T06:06:32.144Z","updated_at":"2026-03-16T18:34:40.265Z","avatar_url":"https://github.com/Mysvac.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003eVulkan-hpp-tutorial\u003c/h1\u003e\n\n\u003cp\u003e\n    \u003ca href=\"https://www.vulkan.org/\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Vulkan-SDK-green?style=for-the-badge\" alt=\"Vulkan-SDK\" /\u003e\n    \u003c/a\u003e\n    \u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://github.com/KhronosGroup/Vulkan-Hpp\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Vulkan-Hpp-yellow?style=for-the-badge\" alt=\"Vulkan-Hpp\" /\u003e\n    \u003c/a\u003e\n    \u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://github.com/Overv/VulkanTutorial\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Vulkan-Tutorial-yellow?style=for-the-badge\" alt=\"Vulkan-Tutorial\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n## 项目说明\n\n### 内容简介\n\n本文档是 Vulkan 的入门教程，将介绍 Vulkan 图形与计算 API 的基础知识与实际应用。\n\n文档以代码演示为主，你可以在 **[Vulkan Guide](https://docs.vulkan.org/guide/latest/index.html)** 等网站找到更详细的 Vulkan 规范和概念介绍。\n\n教程将采用 C++23 标准，使用 SDK 附带的 Vulkan-Hpp C++ 封装，充分利用 RAII 等现代 C++ 特性，这也是 Vulkan 官方推荐的方式。\n\n**文档网站：\u003chttps://mysvac.github.io/vulkan-hpp-tutorial\u003e**\n\n[Vulkan Tutorial](https://docs.vulkan.org/tutorial/latest/index.html) 英文文档也发布了现代 C++ 的版本，\n本文档完成时间略早于官方的新版文档，因此现在正在进行对齐和补充工作，但作者近期繁忙，更新可能较慢。\n\n\u003e 如果你发现了文档的错误，请提交 Issue 或 PR 。\n\n### 项目结构\n\n- `src/` 存放 C++ 完整代码\n- `shaders/` 存放着色器代码\n- `textures/` 存放纹理图片\n- `models/` 存放模型文件\n- `docs/` 存放静态站点相关资源\n    - `md/` 存放教程文档\n    - `images/` 存放图片资源\n    - `res/` 存放其他资源\n    - `codes/` 存放每一节的代码和差异文件\n\n## 静态站点构建\n\n### 安装构建依赖\n\n项目使用 material-mkdocs 构建，请使用 pip 或 conda 安装下面的库：\n\npip:\n\n```shell\npip install mkdocs-material\n```\n\nconda（请先选择并激活合适的虚拟环境）:\n\n```shell\nconda install conda-forge::mkdocs-material\n```\n\n### 生成静态网页资源\n\n首先将仓库内容克隆到本地：\n\n```shell\ngit clone https://github.com/Mysvac/vulkan-hpp-tutorial.git\ncd ./vulkan-hpp-tutorial\n```\n\n可以用下面的命令在本地部署临时站点，用于调试或预览：（使用 conda 时记得激活虚拟环境）\n\n```shell\nmkdocs serve\n```\n\n或者使用下面的命令生成静态文件：\n\n```shell\nmkdocs build\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysvac%2Fvulkan-hpp-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmysvac%2Fvulkan-hpp-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysvac%2Fvulkan-hpp-tutorial/lists"}