{"id":18720814,"url":"https://github.com/chevp/pbr-material-dump-tool","last_synced_at":"2025-11-10T21:30:24.750Z","repository":{"id":246833442,"uuid":"822258645","full_name":"chevp/pbr-material-dump-tool","owner":"chevp","description":"CSharp Program to convert PBR-Materials to Dump-Files.","archived":false,"fork":false,"pushed_at":"2024-10-23T22:04:25.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T10:52:03.001Z","etag":null,"topics":["csharp","jpeg","pbr","png","sixlabors-organization"],"latest_commit_sha":null,"homepage":"","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/chevp.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":"2024-06-30T18:20:03.000Z","updated_at":"2024-10-23T22:04:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"18033257-71b2-497b-b44c-79f8c61f215d","html_url":"https://github.com/chevp/pbr-material-dump-tool","commit_stats":null,"previous_names":["chevp/pbr-material-dump-tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chevp%2Fpbr-material-dump-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chevp%2Fpbr-material-dump-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chevp%2Fpbr-material-dump-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chevp%2Fpbr-material-dump-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chevp","download_url":"https://codeload.github.com/chevp/pbr-material-dump-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239584195,"owners_count":19663348,"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":["csharp","jpeg","pbr","png","sixlabors-organization"],"created_at":"2024-11-07T13:32:42.228Z","updated_at":"2025-11-10T21:30:24.685Z","avatar_url":"https://github.com/chevp.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PBR Material Dump Tool\n\nA csharp program for converting PBR (Physically Based Rendering) materials into optimized dump files for faster loading in Vulkan rendering environments.\n\n## Quick Start\n\nTo quickly start the conversion process, run the following command in your terminal or command prompt:\n\n```bash\nSTART MaterialDumpTool.exe --dir PATH_TO_WORKSPACE\n```\n\nWhere `PATH_TO_WORKSPACE` is the directory containing the PBR materials to be converted.\n\n## Backstory\n\nRendering large PBR materials (e.g., 2024x2024 resolution) can result in slower load times in Vulkan applications. To alleviate this, the PBR Material Dump Tool converts these large assets into smaller dump files, optimizing them for quicker rendering.\n\n## Software Architecture\n\nThe application follows a structured conversion pipeline for transforming high-resolution PBR materials into various downscaled sizes for performance optimization.\n\n![Software-Architecture](/doc/software-architecture.svg)\n\n## Prerequisites\n\nBefore using the tool, download the required PBR materials for conversion.\n\n| **Material Name** | **Example Filename**          |\n|-------------------|-------------------------------|\n| Albedo            | `pbrmat1_albedo.png`          |\n| Ambient Occlusion  | `pbrmat1_ao.png`              |\n| Height            | `pbrmat1_height.png`          |\n| Normal (OpenGL)    | `pbrmat1_normal-ogl.png`      |\n| Preview           | `pbrmat1_preview.png`         |\n| Roughness         | `pbrmat1_roughness.png`       |\n\n## Getting Started\n\nEnsure you have placed the list of PBR materials inside your workspace directory. The initial structure should look like this:\n\n### Initial Folder Structure\n\n```\n├── pbrmat1\n│   ├── pbrmat1_albedo.png\n│   ├── pbrmat1_ao.png\n│   ├── pbrmat1_height.png\n│   ├── pbrmat1_normal-ogl.png\n│   ├── pbrmat1_preview.png\n│   └── pbrmat1_roughness.png\n├── pbrmat2\n│   └── ...\n├── pbrmatN\n```\n\n### Start the Conversion Process\n\nTo begin converting the PBR materials into optimized dump files, run:\n\n```bash\nSTART MaterialDumpTool.exe --dir PATH_TO_WORKSPACE\n```\n\nWhere `PATH_TO_WORKSPACE` is the directory where your PBR materials are stored.\n\n### Folder Structure After Conversion\n\nAfter running the conversion tool, you should see a `_dump` directory with downscaled versions of the original PBR materials at various resolutions:\n\n```\n├── _dump\n│   ├── pbrmat1\n│       ├── 8x8\n│           ├── pbrmat1_albedo.png\n│           ├── pbrmat1_ao.png\n│           ├── pbrmat1_height.png\n│           ├── pbrmat1_metallic.png\n│           ├── pbrmat1_normal-ogl.png\n│           └── pbrmat1_roughness.png\n│       ├── 16x16\n│           └── ...\n│       ├── 32x32\n│           └── ...\n│       ├── 64x64\n│           └── ...\n│       ├── 128x128\n│           └── ...\n│       ├── 256x256\n│           └── ...\n│       ├── 1024x1024\n│           └── ...\n│       ├── 2024x2024\n│           └── ...\n│   └── pbrmatN\n```\n\n## Example Sources for PBR Materials\n\nYou can download PBR material examples from websites like:\n\n- [TextureCan](https://www.texturecan.com/)\n- [CC0-Textures](https://cc0-textures.com/)\n\n## Open Issues\n\n- [ ] Inconsistent naming conventions for ambient occlusion, albedo, and metallic roughness files.\n- [ ] Large files should be split into smaller chunks for better handling and processing.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevp%2Fpbr-material-dump-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchevp%2Fpbr-material-dump-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevp%2Fpbr-material-dump-tool/lists"}