{"id":14970905,"url":"https://github.com/williamd1k0/redmask","last_synced_at":"2025-10-26T14:30:32.044Z","repository":{"id":56633266,"uuid":"98958233","full_name":"williamd1k0/redmask","owner":"williamd1k0","description":"Tool to create palette swap mask/map.","archived":false,"fork":false,"pushed_at":"2024-01-16T19:44:49.000Z","size":73,"stargazers_count":6,"open_issues_count":2,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T20:13:56.415Z","etag":null,"topics":["gimp","godot","krita","palette","python","python3","shaders"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williamd1k0.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-08-01T04:10:21.000Z","updated_at":"2024-01-15T18:31:31.000Z","dependencies_parsed_at":"2024-10-11T05:00:23.242Z","dependency_job_id":null,"html_url":"https://github.com/williamd1k0/redmask","commit_stats":{"total_commits":18,"total_committers":3,"mean_commits":6.0,"dds":"0.38888888888888884","last_synced_commit":"2cabacf5dae6e45ff56631e393922a46af4faf4f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fredmask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fredmask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fredmask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fredmask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamd1k0","download_url":"https://codeload.github.com/williamd1k0/redmask/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238337750,"owners_count":19455365,"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":["gimp","godot","krita","palette","python","python3","shaders"],"created_at":"2024-09-24T13:44:20.033Z","updated_at":"2025-10-26T14:30:26.732Z","avatar_url":"https://github.com/williamd1k0.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![icon](https://raw.githubusercontent.com/williamd1k0/redmask/master/icon.png) redmask\nA simple tool to create palette swap mask\n\n\n## How palette swap mask works\n\nA palette swap mask is an image used to map a palette using a gradient scale.\n\nThe tool will generate a red gradient image because green and blue values are useless for the mask.\n\nFull explanation about palette mask: [https://www.youtube.com/watch?v=u4Iz5AJa31Q](https://www.youtube.com/watch?v=u4Iz5AJa31Q)\n\n![palette-mask-tuto](https://raw.githubusercontent.com/williamd1k0/redmask/master/tests/palette-mask.png)\n\n## Using the generated mask\n\nThe mask can be used in a palette swap shader.\n\nExample shader in Godot Engine 3.x.x:\n\n```glsl\nshader_type canvas_item;\n\nuniform sampler2D palette;\nuniform int palette_colors = 1;\nuniform float color_step = 1.0;\n\nvoid fragment() {\n\tvec4 new_color = texture(TEXTURE, UV);\n\tif (new_color.a \u003e 0.0){\n\t\tvec2 palette_uv = vec2((new_color.r * 255.0) / float(palette_colors) / color_step, 0.0);\n\t\tnew_color = texture(palette, palette_uv);\n  }\n  COLOR = new_color;\n}\n```\n\n## Install\n\n```sh\npip install redmask\n```\n\n## Basic usage\n\n```sh\nredmask \u003cinput\u003e \u003cpalette\u003e\n# generate a mask using default color step (1)\n\nredmask \u003cinput\u003e \u003cpalette\u003e -s 10\n# generate a mask using 10 as color step\n\nredmask \u003cgenerated-mask\u003e \u003cpalette\u003e -a\n# apply a palette (paint the mask) using default color step (1)\n```\n\nYou can test using images in the `tests` directory.\n\nAlso, you can view usage info using the `-h/--help` command.\n\n---\n\n\u003e Example art made by [Yomieda](https://twitter.com/yomieda).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamd1k0%2Fredmask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamd1k0%2Fredmask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamd1k0%2Fredmask/lists"}