{"id":15132037,"url":"https://github.com/gametechdev/introductiontovulkan","last_synced_at":"2025-09-29T00:30:59.005Z","repository":{"id":6081200,"uuid":"53700934","full_name":"GameTechDev/IntroductionToVulkan","owner":"GameTechDev","description":"Source code examples for \"API without Secrets: Introduction to Vulkan\" tutorial","archived":true,"fork":false,"pushed_at":"2023-03-31T16:23:58.000Z","size":1649,"stargazers_count":1301,"open_issues_count":4,"forks_count":211,"subscribers_count":153,"default_branch":"master","last_synced_at":"2025-05-08T05:35:25.032Z","etag":null,"topics":["cpp","intel","tutorial","tutorials","vulkan","vulkan-api","vulkan-demos"],"latest_commit_sha":null,"homepage":"https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-preface","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/GameTechDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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-03-11T22:37:59.000Z","updated_at":"2025-04-10T08:30:12.000Z","dependencies_parsed_at":"2024-11-14T23:30:24.535Z","dependency_job_id":"54e746d8-285f-4d2b-ac4a-ddaedff28f39","html_url":"https://github.com/GameTechDev/IntroductionToVulkan","commit_stats":{"total_commits":81,"total_committers":11,"mean_commits":7.363636363636363,"dds":"0.41975308641975306","last_synced_commit":"f916171cf126b8caf45ac36541ba6768ed924070"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GameTechDev/IntroductionToVulkan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2FIntroductionToVulkan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2FIntroductionToVulkan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2FIntroductionToVulkan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2FIntroductionToVulkan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GameTechDev","download_url":"https://codeload.github.com/GameTechDev/IntroductionToVulkan/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2FIntroductionToVulkan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277450938,"owners_count":25819971,"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-09-28T02:00:08.834Z","response_time":79,"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":["cpp","intel","tutorial","tutorials","vulkan","vulkan-api","vulkan-demos"],"created_at":"2024-09-26T04:02:21.858Z","updated_at":"2025-09-29T00:30:58.436Z","avatar_url":"https://github.com/GameTechDev.png","language":"C++","readme":"# DISCONTINUATION OF PROJECT #\nThis project will no longer be maintained by Intel.  \n  \nIntel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.  \n  \nIntel no longer accepts patches to this project.  \n  \nIf you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.  \n  \n# API without Secrets: Introduction to Vulkan\nby Pawel Lapinski\n\nSource code examples for \"API without Secrets: Introduction to Vulkan\" tutorial which can be found at:\n\nhttps://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-preface\n\nSpecial thanks to Slawomir Cygan for help and for patiently answering my many, many questions!\n\n## Drivers:\n\nVulkan drivers and other related resources can be found at https://www.khronos.org/vulkan/\n\n## Tutorials:\n\n### [01 - The Beginning](./Project/Tutorials/01/)\n\u003cimg src=\"./Document/Images/01 - The Beginning.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Introduction to a Vulkan world\n##### https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-1\n\nTutorial presents how to create all resources necessary to use Vulkan inside our application: function pointers loading, Vulkan instance creation, physical device enumeration, logical device creation and queue set up.\n\n\u003chr\u003e\n\n### [02 - Swap chain](./Project/Tutorials/02/)\n\u003cimg src=\"./Document/Images/02 - Swap Chain.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Integrating Vulkan with OS\n##### https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-2\n\nThis lesson focuses on a swap chain creation. Swap chain enables us to display Vulkan-generated image in an application window. To display anything simple command buffers are allocated and recorded.\n\n\u003chr\u003e\n\n### [03 - First triangle](./Project/Tutorials/03/)\n\u003cimg src=\"./Document/Images/03 - First Triangle.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Graphics pipeline and drawing\n##### https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-3\n\nHere I present render pass, framebuffer and pipeline objects which are necessary to render arbitrary geometry. It is also shown how to convert GLSL shaders into SPIR-V and create shader modules from it.\n\n\u003chr\u003e\n\n### [04 - Vertex Attributes](./Project/Tutorials/04/)\n\u003cimg src=\"./Document/Images/04 - Vertex Attributes.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Buffers, memory objects and fences\n##### https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-4\n\nThis tutorial shows how to set up vertex attributes and bind buffer with a vertex data. Here we also create memory object (which is used by buffer) and fences.\n\n\u003chr\u003e\n\n### [05 - Staging Resources](./Project/Tutorials/05/)\n\u003cimg src=\"./Document/Images/05 - Staging Resources.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Copying data between buffers\n##### https://www.intel.com/content/www/us/en/developer/articles/training/api-without-secrets-introduction-to-vulkan-part-5.html\n\nIn this example staging resources are presented. They are used as an intermediate resources for copying data between CPU and GPU. This way, resources involved in rendering can be bound only to a device local (very fast) memory.\n\n\u003chr\u003e\n\n### [06 - Descriptor Sets](./Project/Tutorials/06/)\n\u003cimg src=\"./Document/Images/06 - Descriptor Sets.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Using textures in shaders\n##### https://software.intel.com/en-us/articles/api-without-secrets-introduction-to-vulkan-part-6\n\nThis tutorial shows what resources are needed and how they should be prepared to be able to use textures (or other shader resources) in shader programs.\n\n\u003chr\u003e\n\n### [07 - Uniform Buffers](./Project/Tutorials/07/)\n\u003cimg src=\"./Document/Images/07 - Uniform Buffers.png\" height=\"96px\" align=\"right\"\u003e\n\n#### Using buffers in shaders\n##### https://www.intel.com/content/www/us/en/developer/articles/training/api-without-secrets-introduction-to-vulkan-part-7.html\n\nHere it is shown how to add uniform buffer to descriptor sets, how to provide data for projection matrix through it and how to use it inside shader.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgametechdev%2Fintroductiontovulkan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgametechdev%2Fintroductiontovulkan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgametechdev%2Fintroductiontovulkan/lists"}