{"id":20721696,"url":"https://github.com/chicio/spectral-brdf-explorer","last_synced_at":"2025-06-13T17:37:58.743Z","repository":{"id":83568203,"uuid":"59787828","full_name":"chicio/Spectral-BRDF-Explorer","owner":"chicio","description":":zap::computer: OpenGL application inspired by Walt Disney Animation Studios BRDF Viewer. A BRDF Viewer that support standard RGB and spectral data (tristimulus values) color calculation.","archived":false,"fork":false,"pushed_at":"2020-08-10T18:14:51.000Z","size":138598,"stargazers_count":53,"open_issues_count":0,"forks_count":5,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T00:51:12.322Z","etag":null,"topics":["ciexyz","color-calculation","computer-graphics","lighting-model","opengles","spectral-data"],"latest_commit_sha":null,"homepage":"http://fabrizioduroni.it/","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/chicio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-05-26T22:42:34.000Z","updated_at":"2024-07-05T02:23:54.000Z","dependencies_parsed_at":"2023-07-07T19:32:21.005Z","dependency_job_id":null,"html_url":"https://github.com/chicio/Spectral-BRDF-Explorer","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/chicio%2FSpectral-BRDF-Explorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicio%2FSpectral-BRDF-Explorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicio%2FSpectral-BRDF-Explorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chicio%2FSpectral-BRDF-Explorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chicio","download_url":"https://codeload.github.com/chicio/Spectral-BRDF-Explorer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250457778,"owners_count":21433734,"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":["ciexyz","color-calculation","computer-graphics","lighting-model","opengles","spectral-data"],"created_at":"2024-11-17T03:29:01.378Z","updated_at":"2025-04-23T15:20:36.116Z","avatar_url":"https://github.com/chicio.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spectral BRDF Explorer\n\n[![Build iOS](https://app.bitrise.io/app/0f216f14818a0da5/status.svg?token=E_AXUmBiaFKXBgCdOC32dg\u0026branch=master)](https://app.bitrise.io/app/0f216f14818a0da5)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/chicio/Spectral-BRDF-Explorer/master/LICENSE.md)\n[![Supported platform](https://img.shields.io/badge/platforms-iOS%20%7C%20Android-orange.svg)](https://img.shields.io/badge/platforms-iOS%20%7C%20Android-orange.svg)\n\n\nOpenGL ES application inspired by [Walt Animation Disney Studios BRDF Viewer](https://github.com/wdas/brdf). A simple application thats shows some of the most famous lighting model used in computer graphics and that supports color calculation using RGB and spectral data of lights and object surfaces.\n\n***\n\n### Introduction\n\nIn computer graphics usually color calculation is usually done using RGB colors. As a consequence of the fact that light is a subset of the entire electromagnetic spectrum, color in rendering can be computed using spectral distribution data, the tristimulus values and the correlated CIE XYZ color space (Kang, 2007 [1]). This color space was created by the main authority on color and illumination: International Commission on Illumination (CIE). The formulas that define the tristimulus values are (Kang, 2007 [1]):\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/chicio/Spectral-BRDF-Explorer/blob/master/Screenshots/tristimulus-x.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/chicio/Spectral-BRDF-Explorer/blob/master/Screenshots/tristimulus-y.png\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/chicio/Spectral-BRDF-Explorer/blob/master/Screenshots/tristimulus-z.png\"/\u003e\n\u003c/p\u003e\n\nIn this way it is possible to render scenes with high color fidelity, that could show physical phenomenons like metamerism, impossible to obtain with standard RGB data.\n\n***\n\n### Overview\n\nSpectral BRDF Explorer is an OpenGL ES application for iOS and Android devices that support multiple lighting models and color calculation using spectral data of lights and object.\nIt supports 5 lighting models:\n\n- Phong [2]\n- Blinn-phong [3]\n- Lambertian \n- Oren-Nayar [4]\n- Cook-torrance [5]\n\nAll the lighting model above are implemented in specific fragment shader in two version: a RGB version and a spectral one. To show this lighting models I created two scenes, each one with support for RGB or Spectral colors.  \nThe scenes support also other computer graphics technique (not strictly related to the spectral data calculation):\n\n- shadow mapping\n- skybox (cube map texture)\n\n***\n\n### Scenes\n\n**Scene 1**\n- RGB data\n- all lighting models\n- Skybox and shadow mapping\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/chicio/Spectral-BRDF-Explorer/blob/master/Screenshots/rgb.gif\"/\u003e\n\u003c/p\u003e\n\n**Scene 2**\n- Spectral data\n\t- Illuminant D65 [6] and Macbeth color checker [7] spectral data\n- all lighting models\n- Skybox and shadow mapping\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/chicio/Spectral-BRDF-Explorer/blob/master/Screenshots/spectral.gif\"/\u003e\n\u003c/p\u003e\n\n***\n\n### Other projects\n\nFor other information about color calculation in computer graphics see my thesis project [Spectral Clara Lux Tracer: Physically based ray tracer with multiple shading models support and Color Rendering Index (CRI) evaluation](https://github.com/chicio/Spectral-Clara-Lux-Tracer).\n\n***\n\n### References\n\n[1] H. R. Kang, \"Tristimulus specification,\" in Computation color technology, Bellingham, Washington: SPIE Publications, 2006, ch. 1, pp. 1-16\n\n[2] B. T. Phong, “Illumination of Computer-Generated Images,” Communications of the ACM, vol. 18, no. 6, pp. 311-317, 1975.\n\n[3] J. Blinn, “Models of light reflection for computer synthesized pictures,” in SIGGRAPH '77, San Jose, 1977, pp. 192-198.\n\n[4] M. Oren and K. S. Nayar, \"Generalization of Lambert’s Reflectance Model,\" in SIGGRAPH '94, Orlando, 1994, pp. 239-246.\n\n[5] R. Cook and K. Torrance, \"A reflectance model for computer graphics\" in SIGGRAPH '81, vol. 15, no. 3, pp. 301–316, 1981. \n\n[6] Wikipedia [Online]. Available:  https://en.wikipedia.org/wiki/Illuminant_D65. \n\n[7] D. Pascale, “RGB coordinates of the Macbeth ColorChecker,” The BabelColor Company, 1 June 2006. [Online]. Available: http://www.babelcolor.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchicio%2Fspectral-brdf-explorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchicio%2Fspectral-brdf-explorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchicio%2Fspectral-brdf-explorer/lists"}