{"id":21879247,"url":"https://github.com/typpo/moonviz","last_synced_at":"2025-03-22T00:16:35.504Z","repository":{"id":21872938,"uuid":"25196528","full_name":"typpo/moonviz","owner":"typpo","description":null,"archived":false,"fork":false,"pushed_at":"2014-12-30T20:34:58.000Z","size":31548,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-26T18:29:47.299Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/typpo.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}},"created_at":"2014-10-14T08:13:54.000Z","updated_at":"2023-04-29T17:53:01.000Z","dependencies_parsed_at":"2022-08-20T01:30:41.672Z","dependency_job_id":null,"html_url":"https://github.com/typpo/moonviz","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/typpo%2Fmoonviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typpo%2Fmoonviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typpo%2Fmoonviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typpo%2Fmoonviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typpo","download_url":"https://codeload.github.com/typpo/moonviz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244885696,"owners_count":20526296,"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":[],"created_at":"2024-11-28T08:15:41.695Z","updated_at":"2025-03-22T00:16:35.483Z","avatar_url":"https://github.com/typpo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Moon Demo\n============\n\nA photorealistic 3D graphics demo of our Moon written in JavaScript and WebGL\nfeaturing real high-resolution satellite maps. Check out the\n[**live demo**][demo]! You'll need a modern browser with WebGL enabled in order\n to run it. I recommmend [**Google Chrome**][chrome].\n\nI recently tested this in Chrome for Android on my Galaxy Note 3 and it ran\nfine at 60 FPS. The stars were not visible. I think they are just too small.\n\n[![Moon Demo Screenshot][screen1]][screen1]\n\nDependencies\n------------\n\nThis demo uses the following open source libraries:\n\n * [**`mrdoob/three.js`**][three.js] - JavaScript 3D Graphics Library - WebGL\n * [**`sindresorhus/screenfull.js`**][screenfull.js] - Cross-browser\n   wrapper for native JS Fullscreen API w/ simpler interface.\n\nCredit\n------\n\nIn order to create a photorealistic demo I set out to find the highest quality\npublic domain maps of the Moon available. I found out that there is good data\npublished through the Map a Planet initiative and available on the\n[**USGS PDS site**][USGS]. The best data we have for our Moon was actually\ngathered by the [**Clementine spacecraft**][Clementine]. It is possible to\nprocess a greyscale image of the entire surface of our Moon using this data,\nand as far as I know the best maps of the lunar surface we have today were\nderived from this data. I was delighted to know that all this great data\navailable from USGS is public domain.\n\nThe best map I could find was processed by [**Jens Meyer**][Jens Meyer] and\napparently also darkened up by [**Steve Albers**][Steve Albers]. It and other\nhigh quality maps can be found on Steve Albers homepage and available free for\npersonal non-commercial use. I say this map is the _best_ in the sense that it\nhas the highest resolution and detail compared to other maps I could find.\n\nThe original resolution of the map found on Steve Albers' homepage is\n`8192x4096`. I am using a version scaled down in both width and height by\n50% giving a texture at resolution `4096x2048`. I find this size suitable for\nmy demo.\n\nMy scaled down version is shown here:\n\n[![Scaled Moon Map][scaled_map_thumb]][scaled_map]\n\nTechnical\n---------\n\nThis demo is an example of using WebGL with the Three.JS JavaScript library.\nGLSL shaders are used to create a material which is applied to the moon in\norder to simulate diffuse light calculated for each vertex on the Moon mesh.\nThis allows the effect of the Moon changing phases. \n\nI also generated 6 randomized star patterns in order to create the skybox\naround the scene, as well as generating a tangent space normal map from the\noriginal high resolution map. I generated normal maps at both the original size\nand the scaled verison.\n\nThe scaled normal map is shown here:\n\n[![Scaled Normal Map][scaled_normal_thumb]][scaled_normal]\n\nIf you wish to learn more about how this demo was created, please check out my\n[**blog post**][blog post] for a more detailed technical explanation.\n\n[demo]: http://coryg89.github.io/MoonDemo\n[basic_demo]: http://coryg89.github.io/MoonDemo/basic.html\n[blog post]: http://coryg89.github.io/technical/2013/06/01/photorealistic-3d-moon-demo-in-webgl-and-javascript/\n\n[scaled_map]: img/maps/moon.jpg\n[scaled_map_thumb]: img/maps/moon1024x512.jpg\n[scaled_normal]: img/maps/normal.jpg\n[scaled_normal_thumb]: img/maps/normal1024x512.jpg\n[screen1]: img/screens/screen1.png\n\n[chrome]: https://google.com/chrome\n[three.js]: https://github.com/mrdoob/three.js/\n[screenfull.js]: https://github.com/sindresorhus/screenfull.js/\n[Steve Albers]: http://laps.noaa.gov/albers/sos/sos.html\n[Jens Meyer]: http://home.arcor.de/jimpage/earth.html\n[USGS]: http://pdsmaps.wr.usgs.gov/PDS/public/explorer/html/mmfront.htm\n[Clementine]: http://en.wikipedia.org/wiki/Clementine_(spacecraft)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyppo%2Fmoonviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyppo%2Fmoonviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyppo%2Fmoonviz/lists"}