{"id":15716353,"url":"https://github.com/kbinani/colormap-shaders","last_synced_at":"2025-04-13T00:40:10.129Z","repository":{"id":32199266,"uuid":"35772902","full_name":"kbinani/colormap-shaders","owner":"kbinani","description":"A collection of shaders to draw color maps.","archived":false,"fork":false,"pushed_at":"2025-03-26T04:44:42.000Z","size":516,"stargazers_count":446,"open_issues_count":0,"forks_count":49,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-13T00:39:54.747Z","etag":null,"topics":["chart","colormap","cplusplus","glsl","gnuplot","matlab","metal","opengl","shader"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"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/kbinani.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}},"created_at":"2015-05-17T16:11:50.000Z","updated_at":"2025-04-08T08:49:45.000Z","dependencies_parsed_at":"2022-07-26T04:30:07.452Z","dependency_job_id":"951e5b11-53a0-485c-9c05-d989560b62b4","html_url":"https://github.com/kbinani/colormap-shaders","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/kbinani%2Fcolormap-shaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbinani%2Fcolormap-shaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbinani%2Fcolormap-shaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbinani%2Fcolormap-shaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbinani","download_url":"https://codeload.github.com/kbinani/colormap-shaders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650414,"owners_count":21139671,"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":["chart","colormap","cplusplus","glsl","gnuplot","matlab","metal","opengl","shader"],"created_at":"2024-10-03T21:45:14.123Z","updated_at":"2025-04-13T00:40:10.102Z","avatar_url":"https://github.com/kbinani.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# colormap-shaders\n\nA collection of shaders to draw color map like this:\n\n![rainbow](sample/transform_rainbow.png).\n\n# usage\n\nEach `*.frag` shader sources provides a `colormap` function, which takes an `float` argument `x` (`x` should be: `0.0 \u003c= x \u003c= 1.0`). The `colormap` function returns a `vec4` value which represents an RGBA color.\n\n```\nvec4 colormap(float x);\n\nvoid main() {\n    gl_FragColor = colormap(gl_TexCoord[0].x);\n}\n\n/* include \"shaders/rainbow.frag\" here, for example. */\n```\n\n## special case\n\n### gnuplot.frag\n\nThis shader emulates `gnuplot`'s `rgbformulae`, and the signature of `colormap` is:\n```\nvec4 colormap(float x, int red_type, int green_type, int blue_type);\n```\n\nIt takes additional 3 arguments, with same meanings to `rgbformulae`'s 3 arguments respectively.\n\n# usage from c++\n\n```c++\n#include \u003ccolormap/colormap.h\u003e\n#include \u003ciostream\u003e\n\nint main()\n{\n    using namespace colormap;\n\n    // Print RGB table of MATLAB::Jet colormap.\n    MATLAB::Jet jet;\n    std::cout \u003c\u003c \"category: \" \u003c\u003c jet.getCategory() \u003c\u003c std::endl;\n    std::cout \u003c\u003c \"title:    \" \u003c\u003c jet.getTitle() \u003c\u003c std::endl;\n    int const size = 256;\n    for (int i = 0; i \u003c size; ++i) {\n        float const x = i / (float)size;\n        Color c = jet.getColor(x);\n        std::cout \u003c\u003c x \u003c\u003c \"\\t\" \u003c\u003c c.r \u003c\u003c \"\\t\" \u003c\u003c c.g \u003c\u003c \"\\t\" \u003c\u003c c.b \u003c\u003c std::endl;\n    }\n\n    // Dump category and title of all colormaps.\n    for (std::shared_ptr\u003cColormap const\u003e const\u0026 c : ColormapList::getAll()) {\n        std::cout \u003c\u003c c-\u003egetCategory() \u003c\u003c \" : \" \u003c\u003c c-\u003egetTitle() \u003c\u003c std::endl;\n    }\n    return 0;\n}\n```\n\n# samples\n\n## MATLAB\n\n* http://www.mathworks.com/products/matlab/\n\n|name          |sample                       |\n|--------------|-----------------------------|\n|MATLAB\\_autumn|![](sample/MATLAB_autumn.png)|\n|MATLAB\\_bone  |![](sample/MATLAB_bone.png)  |\n|MATLAB\\_cool  |![](sample/MATLAB_cool.png)  |\n|MATLAB\\_copper|![](sample/MATLAB_copper.png)|\n|MATLAB\\_hot   |![](sample/MATLAB_hot.png)   |\n|MATLAB\\_hsv   |![](sample/MATLAB_hsv.png)   |\n|MATLAB\\_jet   |![](sample/MATLAB_jet.png)   |\n|MATLAB\\_parula|![](sample/MATLAB_parula.png)|\n|MATLAB\\_pink  |![](sample/MATLAB_pink.png)  |\n|MATLAB\\_spring|![](sample/MATLAB_spring.png)|\n|MATLAB\\_summer|![](sample/MATLAB_summer.png)|\n|MATLAB\\_winter|![](sample/MATLAB_winter.png)|\n\n## gnuplot\n\n* http://www.gnuplot.info/\n\n|name                   |sample                          |\n|-----------------------|--------------------------------|\n|rgbformulae(7, 5, 15)  |![](sample/gnuplot_7_5_15.png)  |\n|rgbformulae(3, 11, 6)  |![](sample/gnuplot_3_11_6.png)  |\n|rgbformulae(23, 28, 3) |![](sample/gnuplot_23_28_3.png) |\n|rgbformulae(21, 22, 23)|![](sample/gnuplot_21_22_23.png)|\n|rgbformulae(30, 31, 32)|![](sample/gnuplot_30_31_32.png)|\n|rgbformulae(33, 13, 10)|![](sample/gnuplot_33_13_10.png)|\n|rgbformulae(34, 35, 36)|![](sample/gnuplot_34_35_36.png)|\n\n## IDL\n\n* https://www.nv5geospatialsoftware.com/docs/loadingdefaultcolortables.html\n\n|name                         |sample                                     |\n|-----------------------------|-------------------------------------------|\n|IDL\\_Black-White\\_Linear     |![](sample/IDL_Black-White_Linear.png)     | \u003c!-- #0 --\u003e\n|IDL\\_Blue-White\\_Linear      |![](sample/IDL_Blue-White_Linear.png)      | \u003c!-- #1 --\u003e\n|IDL\\_Green\\-Red\\-Blue\\-White |![](sample/IDL_Green-Red-Blue-White.png)   | \u003c!-- #2 --\u003e\n|IDL\\_Red\\_Temperature        |![](sample/IDL_Red_Temperature.png)        | \u003c!-- #3 --\u003e\n|IDL\\_Blue-Green-Red-Yellow   |![](sample/IDL_Blue-Green-Red-Yellow.png)  | \u003c!-- #4 --\u003e\n|IDL\\_Standard\\_Gamma-II      |![](sample/IDL_Standard_Gamma-II.png)      | \u003c!-- #5 --\u003e\n|IDL\\_Prism                   |![](sample/IDL_Prism.png)                  | \u003c!-- #6 --\u003e\n|IDL\\_Red-Purple              |![](sample/IDL_Red-Purple.png)             | \u003c!-- #7 --\u003e\n|IDL\\_Green-White\\_Linear     |![](sample/IDL_Green-White_Linear.png)     | \u003c!-- #8 --\u003e\n|IDL\\_Green-White\\_Exponential|![](sample/IDL_Green-White_Exponential.png)| \u003c!-- #9 --\u003e\n|IDL\\_Green-Pink              |![](sample/IDL_Green-Pink.png)             | \u003c!-- #10 --\u003e\n|IDL\\_Blue-Red                |![](sample/IDL_Blue-Red.png)               | \u003c!-- #11 --\u003e\n|IDL\\_16\\_Level               |![](sample/IDL_16_Level.png)               | \u003c!-- #12 --\u003e\n|IDL\\_Rainbow                 |![](sample/IDL_Rainbow.png)                | \u003c!-- #13 --\u003e\n|IDL\\_Steps                   |![](sample/IDL_Steps.png)                  | \u003c!-- #14 --\u003e\n|IDL\\_Stern\\_Special          |![](sample/IDL_Stern_Special.png)          | \u003c!-- #15 --\u003e\n|IDL\\_Haze                    |![](sample/IDL_Haze.png)                   | \u003c!-- #16 --\u003e\n|IDL\\_Blue\\-Pastel\\-Red       |![](sample/IDL_Blue-Pastel-Red.png)        | \u003c!-- #17 --\u003e\n|IDL\\_Pastels                 |![](sample/IDL_Pastels.png)                | \u003c!-- #18 --\u003e\n|IDL\\_Hue\\_Sat\\_Lightness\\_1  |![](sample/IDL_Hue_Sat_Lightness_1.png)    | \u003c!-- #19 --\u003e\n|IDL\\_Hue\\_Sat\\_Lightness\\_2  |![](sample/IDL_Hue_Sat_Lightness_2.png)    | \u003c!-- #20 --\u003e\n|IDL\\_Hue\\_Sat\\_Value\\_1      |![](sample/IDL_Hue_Sat_Value_1.png)        | \u003c!-- #21 --\u003e\n|IDL\\_Hue\\_Sat\\_Value\\_2      |![](sample/IDL_Hue_Sat_Value_2.png)        | \u003c!-- #22 --\u003e\n|IDL\\_Purple\\-Red\\+Stripes    |![](sample/IDL_Purple-Red+Stripes.png)     | \u003c!-- #23 --\u003e\n|IDL\\_Beach                   |![](sample/IDL_Beach.png)                  | \u003c!-- #24 --\u003e\n|IDL\\_Mac\\_Style              |![](sample/IDL_Mac_Style.png)              | \u003c!-- #25 --\u003e\n|IDL\\_Eos\\_A                  |![](sample/IDL_Eos_A.png)                  | \u003c!-- #26 --\u003e\n|IDL\\_Eos\\_B                  |![](sample/IDL_Eos_B.png)                  | \u003c!-- #27 --\u003e\n|IDL\\_Hardcandy               |![](sample/IDL_Hardcandy.png)              | \u003c!-- #28 --\u003e\n|IDL\\_Nature                  |![](sample/IDL_Nature.png)                 | \u003c!-- #29 --\u003e\n|IDL\\_Ocean                   |![](sample/IDL_Ocean.png)                  | \u003c!-- #30 --\u003e\n|IDL\\_Peppermint              |![](sample/IDL_Peppermint.png)             | \u003c!-- #31 --\u003e\n|IDL\\_Plasma                  |![](sample/IDL_Plasma.png)                 | \u003c!-- #32 --\u003e\n|IDL\\_Blue-Red\\_2             |![](sample/IDL_Blue-Red_2.png)             | \u003c!-- #33 --\u003e\n|IDL\\_Rainbow\\_2              |![](sample/IDL_Rainbow_2.png)              | \u003c!-- #34 --\u003e\n|IDL\\_Blue\\_Waves             |![](sample/IDL_Blue_Waves.png)             | \u003c!-- #35 --\u003e\n|IDL\\_Volcano                 |![](sample/IDL_Volcano.png)                | \u003c!-- #36 --\u003e\n|IDL\\_Waves                   |![](sample/IDL_Waves.png)                  | \u003c!-- #37 --\u003e\n|IDL\\_Rainbow\\_18             |![](sample/IDL_Rainbow_18.png)             | \u003c!-- #38 --\u003e\n|IDL\\_Rainbow\\+White          |![](sample/IDL_Rainbow+White.png)          | \u003c!-- #39 --\u003e\n|IDL\\_Rainbow\\+Black          |![](sample/IDL_Rainbow+Black.png)          | \u003c!-- #40 --\u003e\n|IDL\\_CB\\-Accent              |![](sample/IDL_CB-Accent.png)              | \u003c!-- #41 --\u003e\n|IDL\\_CB\\-Dark2               |![](sample/IDL_CB-Dark2.png)               | \u003c!-- #42 --\u003e\n|IDL\\_CB\\-Paired              |![](sample/IDL_CB-Paired.png)              | \u003c!-- #43 --\u003e\n|IDL\\_CB\\-Pastel1             |![](sample/IDL_CB-Pastel1.png)             | \u003c!-- #44 --\u003e\n|IDL\\_CB\\-Pastel2             |![](sample/IDL_CB-Pastel2.png)             | \u003c!-- #45 --\u003e\n|IDL\\_CB\\-Set1                |![](sample/IDL_CB-Set1.png)                | \u003c!-- #46 --\u003e\n|IDL\\_CB\\-Set2                |![](sample/IDL_CB-Set2.png)                | \u003c!-- #47 --\u003e\n|IDL\\_CB\\-Set3                |![](sample/IDL_CB-Set3.png)                | \u003c!-- #48 --\u003e\n|IDL\\_CB\\-Blues               |![](sample/IDL_CB-Blues.png)               | \u003c!-- #49 --\u003e\n|IDL\\_CB\\-BuGn                |![](sample/IDL_CB-BuGn.png)                | \u003c!-- #50 --\u003e\n|IDL\\_CB\\-BuPu                |![](sample/IDL_CB-BuPu.png)                | \u003c!-- #51 --\u003e\n|IDL\\_CB\\-GnBu                |![](sample/IDL_CB-GnBu.png)                | \u003c!-- #52 --\u003e\n|IDL\\_CB\\-Greens              |![](sample/IDL_CB-Greens.png)              | \u003c!-- #53 --\u003e\n|IDL\\_CB\\-Greys               |![](sample/IDL_CB-Greys.png)               | \u003c!-- #54 --\u003e\n|IDL\\_CB\\-Oranges             |![](sample/IDL_CB-Oranges.png)             | \u003c!-- #55 --\u003e\n|IDL\\_CB\\-OrRd                |![](sample/IDL_CB-OrRd.png)                | \u003c!-- #56 --\u003e\n|IDL\\_CB\\-PuBu                |![](sample/IDL_CB-PuBu.png)                | \u003c!-- #57 --\u003e\n|IDL\\_CB\\-PuBuGn              |![](sample/IDL_CB-PuBuGn.png)              | \u003c!-- #58 --\u003e\n|IDL\\_CB\\-PuRdn               |![](sample/IDL_CB-PuRd.png)                | \u003c!-- #59 --\u003e\n|IDL\\_CB\\-Purples             |![](sample/IDL_CB-Purples.png)             | \u003c!-- #60 --\u003e\n|IDL\\_CB\\-RdPu                |![](sample/IDL_CB-RdPu.png)                | \u003c!-- #61 --\u003e\n|IDL\\_CB\\-Reds                |![](sample/IDL_CB-Reds.png)                | \u003c!-- #62 --\u003e\n|IDL\\_CB\\-YIGn                |![](sample/IDL_CB-YIGn.png)                | \u003c!-- #63 --\u003e\n|IDL\\_CB\\-YIGnBu              |![](sample/IDL_CB-YIGnBu.png)              | \u003c!-- #64 --\u003e\n|IDL\\_CB\\-YIOrBr              |![](sample/IDL_CB-YIOrBr.png)              | \u003c!-- #65 --\u003e\n|IDL\\_CB\\-BrBG                |![](sample/IDL_CB-BrBG.png)                | \u003c!-- #66 --\u003e\n|IDL\\_CB\\-PiYG                |![](sample/IDL_CB-PiYG.png)                | \u003c!-- #67 --\u003e\n|IDL\\_CB\\-PRGn                |![](sample/IDL_CB-PRGn.png)                | \u003c!-- #68 --\u003e\n|IDL\\_CB\\-PuOr                |![](sample/IDL_CB-PuOr.png)                | \u003c!-- #69 --\u003e\n|IDL\\_CB\\-RdBu                |![](sample/IDL_CB-RdBu.png)                | \u003c!-- #70 --\u003e\n|IDL\\_CB\\-RdGy                |![](sample/IDL_CB-RdGy.png)                | \u003c!-- #71 --\u003e\n|IDL\\_CB\\-RdYiBu              |![](sample/IDL_CB-RdYiBu.png)              | \u003c!-- #72 --\u003e\n|IDL\\_CB\\-RdYiGn              |![](sample/IDL_CB-RdYiGn.png)              | \u003c!-- #73 --\u003e\n|IDL\\_CB\\-Spectral            |![](sample/IDL_CB-Spectral.png)            | \u003c!-- #74 --\u003e\n\n## transform\n\n* http://web.archive.org/web/20000520021207/http://www.fortner.com/docs/product_transform.html\n\n|name                      |sample                                 |\n|--------------------------|---------------------------------------|\n|transform\\_rainbow                   |![](sample/transform_rainbow.png)                |\n|transform\\_apricot                   |![](sample/transform_apricot.png)                |\n|transform\\_carnation                 |![](sample/transform_carnation.png)              |\n|transform\\_ether                     |![](sample/transform_ether.png)                  |\n|transform\\_grayscale\\_banded         |![](sample/transform_grayscale_banded.png)       |\n|transform\\_hot\\_metal                |![](sample/transform_hot_metal.png)              |\n|transform\\_lava\\_waves               |![](sample/transform_lava_waves.png)             |\n|transform\\_malachite                 |![](sample/transform_malachite.png)              |\n|transform\\_seismic                   |![](sample/transform_seismic.png)                |\n|transform\\_space                     |![](sample/transform_space.png)                  |\n|transform\\_morning\\_glory            |![](sample/transform_morning_glory.png)          |\n|transform\\_peanut\\_butter\\_and\\_jerry|![](sample/transform_peanut_butter_and_jerry.png)|\n|transform\\_purple\\_haze              |![](sample/transform_purple_haze.png)            |\n|transform\\_rose                      |![](sample/transform_rose.png)                   |\n|transform\\_saturn                    |![](sample/transform_saturn.png)                 |\n|transform\\_supernova                 |![](sample/transform_supernova.png)              |\n\n## kbinani\n|name             |sample                          |\n|-----------------|--------------------------------|\n|kbinani\\_altitude|![](sample/kbinani_altitude.png)|\n\n# license\n\nThe MIT License. See 'LICENSE' file for detail.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbinani%2Fcolormap-shaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbinani%2Fcolormap-shaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbinani%2Fcolormap-shaders/lists"}