{"id":19211738,"url":"https://github.com/edibotopic/write-height","last_synced_at":"2025-05-12T20:12:54.209Z","repository":{"id":114296785,"uuid":"495130110","full_name":"edibotopic/write-height","owner":"edibotopic","description":"Small web-based tool to quickly make downloadable 3D models from greyscale images. Built using Babylon.js.","archived":false,"fork":false,"pushed_at":"2023-09-28T18:01:09.000Z","size":28592,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-23T05:09:13.017Z","etag":null,"topics":["3d","3d-models","babylonjs","heightmaps","image-processing","mesh-generation"],"latest_commit_sha":null,"homepage":"https://edibotopic.github.io/write-height/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edibotopic.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":"2022-05-22T17:32:00.000Z","updated_at":"2024-02-16T09:45:26.000Z","dependencies_parsed_at":"2023-09-24T21:02:08.987Z","dependency_job_id":"5105e514-4d03-49e7-893f-5a40eccd48ed","html_url":"https://github.com/edibotopic/write-height","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edibotopic%2Fwrite-height","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edibotopic%2Fwrite-height/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edibotopic%2Fwrite-height/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edibotopic%2Fwrite-height/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edibotopic","download_url":"https://codeload.github.com/edibotopic/write-height/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223835420,"owners_count":17211158,"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":["3d","3d-models","babylonjs","heightmaps","image-processing","mesh-generation"],"created_at":"2024-11-09T13:44:35.775Z","updated_at":"2024-11-09T13:44:36.378Z","avatar_url":"https://github.com/edibotopic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Write Height\n\nThis is a web app for easily creating 3D meshes from greyscale images.\nIt was designed to be a free and portable way to view and create 3D models without\nthe need to download software or use complex tools.\n\nMuch of the underlying 3D functionality is provided by the excellent\n[Babylon.js](https://www.babylonjs.com) engine, which provides functions for heightmapping, rendering and file creation.\n\n## How it Works\n\n### Model Generation and Viewing\n\nYou can generate a random model or select a greyscale image from your phone, tablet or computer.\nImages will be automatically converted into 3D models. \n\nThe way the model is rendered can be controlled, with toggles for\n`turntable`, `wireframe` and `hide grid`, as well as a colour picker.\n\nModels can be rotated by dragging over the model with the left mouse button or by swiping\non a touchscreen. \nZooming is controlled using a scroll-wheel or by pinching on a touchscreen. \nPanning can be achieved by dragging with the right mouse button. \nArrow keys can also be used to control the camera as long as the model is focused (i.e., it has been clicked).\n\n### Exporting Models\n\nCurrently the models can be exported to `.stl`, `.obj` and `.glb` formats.\nWhen tested with Blender, all models were imported in the correct\norientation.\nIn other software models may need to be rotated into place.\n\n## Limitations\n\nCurrently the level of detail is fixed, with a default number of\nsubdivisions for each mesh set to 200, which is quite dense.\n\nThe rendered objects may not be optimal for specific uses without further editing. \nFor example, you may want to inspect the topology of the model to ensure there is a low\npolygon count (games) or no non-manifold geometry (printing). \nYour 3D printing software should alert you to any issues with the model relating to ground support.\n\n## To-do\n\n- [X] Fix bug where multiple downloads trigger\n- [ ] Allow level of detail in model to be adjusted \n- [ ] Test option to adjust orientation (y-up/z-up) for export\n- [X] Reintroduce `.glb` and `.obj` exports\n- [ ] Improve feedback and file-naming on export\n- [ ] Persist toggled options between model loadings\n- [ ] More and better examples\n\n## Changelog\n\n### v0.1.3\n\n- All major export formats added\n- Better GUI styling\n- Code cleanup\n\n### v0.1.2\n\n- Multiple download bug fixed\n- Added wireframe toggle\n- Added grid toggle\n- Dispose GUI on repaint\n- Minor rendering changes\n\n### v0.1.1\n\n- Added turntable toggle\n- Refactored scripts into separate files\n- Removed primitive drawing features\n- Minor style changes\n\n### v0.1.0\n\n- Conversion of images to 3D with adjustable colour\n- Download of meshes to different file formats\n- Implementation of simple drawing tools for image creation\n\n## Similar Tools\n\nEphtracy's [aerialod](https://ephtracy.github.io/index.html?page=aerialod) is an amazing piece of software for rendering high quality 3D models from images and offers a high degree of customisation. \nThe software is Windows-only and does not support mobile devices.\n\n## Note\n\nI obtained some of the example heightmaps from the\ninternet and assume they are free to\nuse. If you recognise an image of\nyours that you would like me to\ncredit or remove please let me\nknow.\n\nI plan on replacing some or all of them with original images.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedibotopic%2Fwrite-height","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedibotopic%2Fwrite-height","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedibotopic%2Fwrite-height/lists"}