{"id":18782059,"url":"https://github.com/gpuopen-librariesandsdks/workgraphshellomeshnodes","last_synced_at":"2025-09-02T00:32:46.199Z","repository":{"id":249177829,"uuid":"827848734","full_name":"GPUOpen-LibrariesAndSDKs/WorkGraphsHelloMeshNodes","owner":"GPUOpen-LibrariesAndSDKs","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-18T13:10:23.000Z","size":425,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-07T20:47:16.801Z","etag":null,"topics":["meshnodes"],"latest_commit_sha":null,"homepage":"https://gpuopen.com/learn/work_graphs_mesh_nodes/","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/GPUOpen-LibrariesAndSDKs.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":"2024-07-12T14:05:17.000Z","updated_at":"2024-09-23T11:31:05.000Z","dependencies_parsed_at":"2024-07-19T02:30:54.075Z","dependency_job_id":"9ae2f3e9-01a7-47ec-9829-6eedb52b3a79","html_url":"https://github.com/GPUOpen-LibrariesAndSDKs/WorkGraphsHelloMeshNodes","commit_stats":null,"previous_names":["gpuopen-librariesandsdks/workgraphshellomeshnodes"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GPUOpen-LibrariesAndSDKs%2FWorkGraphsHelloMeshNodes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GPUOpen-LibrariesAndSDKs%2FWorkGraphsHelloMeshNodes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GPUOpen-LibrariesAndSDKs%2FWorkGraphsHelloMeshNodes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GPUOpen-LibrariesAndSDKs%2FWorkGraphsHelloMeshNodes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GPUOpen-LibrariesAndSDKs","download_url":"https://codeload.github.com/GPUOpen-LibrariesAndSDKs/WorkGraphsHelloMeshNodes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231729002,"owners_count":18417679,"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":["meshnodes"],"created_at":"2024-11-07T20:34:41.665Z","updated_at":"2024-12-29T11:23:22.300Z","avatar_url":"https://github.com/GPUOpen-LibrariesAndSDKs.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hello Mesh Nodes\n\nHelloMeshNodes is a minimal, \"Hello World\"-style sample for [D3D12 Mesh Nodes](https://microsoft.github.io/DirectX-Specs/d3d/WorkGraphs.html#mesh-nodes). The goal of this sample is to provide short sample files which set up the minimum required in order to exercise a recursive work graph with draw nodes rendering a [Koch snowflake](https://en.wikipedia.org/wiki/Koch_snowflake).\n\nTo run the sample, open the `HelloMeshNodes.sln` with [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).\nBuild and run the `HelloMeshNodes` project. Visual Studio will automatically download the required Agility SDK and DirectX shader compiler packages from the NuGet package repository.\n\nYou can find more information in mesh nodes and this sample in our accompanying blog post on [GPUOpen](https://gpuopen.com/learn/work_graphs_mesh_nodes).\n\nThis sample focuses on the new mesh node feature of GPU work graphs in DirectX 12. If you are not already comfortable with DirectX 12, work graphs or mesh shaders, you may wish to learn more by reading up on these topics before continuing:\n- [DirectX 12 Ultimate Getting Started Guide](https://devblogs.microsoft.com/directx/directx-12-ultimate-getting-started-guide/)\n- [GPU Work Graphs Introduction](https://gpuopen.com/learn/gpu-work-graphs/gpu-work-graphs-intro/)\n- [Mesh shaders on AMD RDNA™ graphics cards](https://gpuopen.com/learn/mesh_shaders/mesh_shaders-index/)\n\n## Koch Snowflake \n![koch snowflake](./figures/iterations.png)\n\nThe Koch snowflake is built up iteratively, in a sequence of stages. The first stage is an equilateral triangle, and each successive stage is formed by adding outward bends to each side of the previous stage, making smaller equilateral triangles. \n\nThe work graph calculates and renders the first three iterations of the Koch snowflake.\n\n## Work Graph Setup\n\n![work graph](./figures/graph.png)\n\nThe work graph draws the Koch snowflake. \nThe EntryNode starts by drawing the center triangle and starting the snowflake node with the three lines of the initial triangle.\nThe SnowflakeNode draws a triangle in each iteration, but the last.\nIn the last iteration the outline is drawn. We use a depth buffer to ensure the outline always appears up top.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgpuopen-librariesandsdks%2Fworkgraphshellomeshnodes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgpuopen-librariesandsdks%2Fworkgraphshellomeshnodes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgpuopen-librariesandsdks%2Fworkgraphshellomeshnodes/lists"}