{"id":17816426,"url":"https://github.com/zebrajaeger/jsphere2cube","last_synced_at":"2025-06-26T20:05:33.071Z","repository":{"id":97329002,"uuid":"363694300","full_name":"zebrajaeger/jsphere2cube","owner":"zebrajaeger","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-14T12:51:16.000Z","size":222,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T23:42:53.852Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zebrajaeger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-05-02T16:15:16.000Z","updated_at":"2022-04-10T17:42:07.000Z","dependencies_parsed_at":"2024-10-27T17:14:52.895Z","dependency_job_id":"39f51449-f1a8-46c9-8a4f-454d12b7a65c","html_url":"https://github.com/zebrajaeger/jsphere2cube","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/zebrajaeger%2Fjsphere2cube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fjsphere2cube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fjsphere2cube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebrajaeger%2Fjsphere2cube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zebrajaeger","download_url":"https://codeload.github.com/zebrajaeger/jsphere2cube/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246779859,"owners_count":20832470,"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-10-27T16:38:06.469Z","updated_at":"2025-04-02T08:25:56.745Z","avatar_url":"https://github.com/zebrajaeger.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cube2sphere\n\nConverts a spherical panorama image into a cube map faces/tile tree and creates .html file to render it within browsers.\n\nDirectly supported viewers (html generation):\n- [Pannellum](https://pannellum.org/)\n- [Marzipano](https://www.marzipano.net/)\n\n\nclone this repo\n\n### Preconditions \n\n- [java](https://openjdk.java.net/) 8 or higher\n- [maven](https://maven.apache.org/)\n- [ [git](https://git-scm.com/downloads) ]\n\n## Compile / install application\n\n- Clone the project with git (or download as archive and extract).\n- Execute in this directory (this means: the directory of this readme file):\n  \n\n    mvn clean install\n\n## Run application:\n\n### jar (single)\n\nFrom core/target directory take the jar and make it available in your path. Then run (version number may different):\n\n    java -jar sphere2cube-java-core-0.0.1-SNAPSHOT-exec.jar [parameters]\n\n## Config file\n\nDefault name is \"sphere2cube.json\"\n\nExample (at least change source.path for input file, everything else may be ok):\n```json\n{\n  \"debug\": false,\n  \"source\": {\n    \"path\": \"/home/l/prj/panos/IMG_1766_S(168.00x25.63(8.99)).psb\"\n  },\n  \"target\": \"./target\",\n  \"preview\": {\n    \"cubemap\": {\n      \"enabled\": true,\n      \"edge\": 200,\n      \"target\": \"preview_cube.jpg\"\n    },\n    \"equirectangular\": {\n      \"enabled\": true,\n      \"edge\": 800,\n      \"target\": \"preview_equirectangular.jpg\"\n    },\n    \"scaled\": {\n      \"enabled\": true,\n      \"edge\": 800,\n      \"target\": \"preview_scaled.jpg\"\n    }\n  },\n  \"cubemap\": {\n    \"tiles\": {\n      \"enabled\": true,\n      \"tileEdge\": 512,\n      \"target\": \"{{levelCount}}/{{faceNameShortLowerCase}}{{xIndex}}_{{yIndex}}.png\"\n    },\n    \"faces\": {\n      \"enabled\": false,\n      \"target\": \"{{faceNameLowerCase}}_{{levelCount}}.png\"\n    }\n  },\n  \"viewer\": {\n    \"pannellum\": {\n      \"enabled\": true,\n      \"title\": \"cube2sphere - Pannellum\",\n      \"target\": \"index.p.html\",\n      \"js\": [\n        \"https://cdn.jsdelivr.net/npm/pannellum@2.5.6/build/pannellum.js\"\n      ],\n      \"css\": [\n        \"https://cdn.jsdelivr.net/npm/pannellum@2.5.6/build/pannellum.css\"\n      ]\n    },\n    \"marzipano\": {\n      \"enabled\": true,\n      \"title\": \"cube2sphere - Marzipano\",\n      \"target\": \"index.m.html\",\n      \"js\": [\n        \"https://cdn.jsdelivr.net/npm/marzipano@0.9.1/dist/marzipano.min.js\"\n      ],\n      \"css\": [\n        \"https://www.marzipano.net/demos/sample-tour/style.css\"\n      ]\n    }\n  },\n  \"archive\": {\n    \"enabled\": true,\n    \"target\": \"pano.zip\"\n  }\n}\n```\n## Links\n\n- \u003chttps://stackoverflow.com/questions/29678510/convert-21-equirectangular-panorama-to-cube-map/29681646#29681646\u003e\n- \u003chttps://github.com/jaxry/panorama-to-cubemap/blob/gh-pages/convert.js\u003e\n- \u003chttps://developers.google.com/streetview/spherical-metadata\u003e\n- \u003chttps://download.kolor.com/apg/stable/history\u003e\n\n## TODO\n\n### HIGH (required)\n- [X] More differentiated logging \n- [X] Progress bar\n- [X] Timer\n- [X] Marzipano viewer  \n- [X] read embedded xml of Autopano Giga\n- [X] restrict view angle dependent from source image bounds\n- [X] Add css and js from viewers instead link to CDN\n- [X] zip file packing (multithreaded)\n- [X] simple drop-target UI\n- [ ] Add configuration options to UI\n\n### MID (nice to have)\n- [ ] ~~maven plugin~~ that doesn't make too much sense\n- [X] self containing application\n- [X] Populate README\n- [X] Panorama description file\n\n### LOW (later or never...)\n- [ ] output image paging for images that are too big to fit in memory \n- [ ] input image paging for images that are too big to fit in memory\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrajaeger%2Fjsphere2cube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzebrajaeger%2Fjsphere2cube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebrajaeger%2Fjsphere2cube/lists"}