{"id":19867487,"url":"https://github.com/erkaman/vulkan_minimal_compute","last_synced_at":"2025-04-04T06:10:01.741Z","repository":{"id":22128558,"uuid":"95374650","full_name":"Erkaman/vulkan_minimal_compute","owner":"Erkaman","description":"Minimal Example of Using Vulkan for Compute Operations. Only ~400LOC.","archived":false,"fork":false,"pushed_at":"2024-04-16T17:54:22.000Z","size":487,"stargazers_count":708,"open_issues_count":7,"forks_count":70,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-07-31T22:43:28.617Z","etag":null,"topics":["compute","example","fractal","glsl","gpgpu","mandelbrot","spirv","tutorial","vulkan"],"latest_commit_sha":null,"homepage":null,"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/Erkaman.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":"2017-06-25T17:19:22.000Z","updated_at":"2024-07-30T12:25:34.000Z","dependencies_parsed_at":"2024-10-26T15:11:34.129Z","dependency_job_id":null,"html_url":"https://github.com/Erkaman/vulkan_minimal_compute","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erkaman%2Fvulkan_minimal_compute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erkaman%2Fvulkan_minimal_compute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erkaman%2Fvulkan_minimal_compute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erkaman%2Fvulkan_minimal_compute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Erkaman","download_url":"https://codeload.github.com/Erkaman/vulkan_minimal_compute/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"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":["compute","example","fractal","glsl","gpgpu","mandelbrot","spirv","tutorial","vulkan"],"created_at":"2024-11-12T15:29:28.045Z","updated_at":"2025-04-04T06:10:01.713Z","avatar_url":"https://github.com/Erkaman.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vulkan Minimal Compute\n\nThis is a simple demo that demonstrates how to use Vulkan for compute operations only.\nIn other words, this demo does nothing related to graphics, \nand only uses Vulkan to execute some computation on the GPU.\nFor this demo, Vulkan is used to render the Mandelbrot set on the GPU. The demo is very simple, \nand is only ~400LOC. **The code is heavily commented, so it should be useful for people interested in learning Vulkan**.\n\nThe only depdendencies are Vulkan and `lodepng`. `lodepng` is simply used for png encoding. Vulkan can be installed\nfrom `lunarg.com`\n\n![](image.png)\n\n# Demo\n\nThe application launches a compute shader that renders the mandelbrot set, by rendering it into a storage buffer.\nThe storage buffer is then read from the GPU, and saved as `.png`. Check the source code comments\nfor further info.\n\n## Building\n\nThe project uses CMake, and all dependencies are included, so you\nshould use CMake to generate a \"Visual Studio Solution\"/makefile,\nand then use that to compile the program. If you then run the program,\na file named `mandelbrot.png` should be created. This is a Mandelbrot\nset that has been rendered by using Vulkan. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferkaman%2Fvulkan_minimal_compute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferkaman%2Fvulkan_minimal_compute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferkaman%2Fvulkan_minimal_compute/lists"}