{"id":18333418,"url":"https://github.com/ogrecave/ogre-planet","last_synced_at":"2025-08-02T14:05:46.432Z","repository":{"id":78916904,"uuid":"173827808","full_name":"OGRECave/ogre-planet","owner":"OGRECave","description":"dynamic level of detail for planetary rendering ","archived":false,"fork":false,"pushed_at":"2021-05-16T22:48:53.000Z","size":3115,"stargazers_count":10,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T03:34:12.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/OGRECave.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":"2019-03-04T21:56:54.000Z","updated_at":"2025-01-11T06:31:04.000Z","dependencies_parsed_at":"2023-06-26T08:30:24.080Z","dependency_job_id":null,"html_url":"https://github.com/OGRECave/ogre-planet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OGRECave/ogre-planet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OGRECave%2Fogre-planet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OGRECave%2Fogre-planet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OGRECave%2Fogre-planet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OGRECave%2Fogre-planet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OGRECave","download_url":"https://codeload.github.com/OGRECave/ogre-planet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OGRECave%2Fogre-planet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268401591,"owners_count":24244461,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-05T19:42:06.992Z","updated_at":"2025-08-02T14:05:46.424Z","avatar_url":"https://github.com/OGRECave.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Update Mar 2012\nReleased under MIT license\n\nInspired by the Infinity MMO http://www.infinity-universe.com and http://www.gamedev.net/blog/73-journal-of-ysaneya/\nAt the time of writing this game is still yet to be released.\n\n![](screenshot.jpg)\n\nThis uses a 'spherized cube' where the twelve faces are subdivided dynamically in realtime, then stitched together.\nThe original concept was by 'HexiDave' with code demonstrated only on a single face of a cube http://www.ogre3d.org/phpBB2/viewtopic.php?t=30819\nPermission was sought from HexiDave to publish this derived work back in 2008.\nOthers have since taken the core concept \u0026 run with it http://www.ogre3d.org/forums/viewtopic.php?t=49849\n\nTexture media needs to be cube maps - arguably the best way to do this is with procedurally generated textures (eg. Perlin noise).\nPopping is also a big issue - this can be limited by generating two levels of detail \u0026 alpha blending between them.\n\n\n## LICENSE:\nCopyright (C) 2008 Beau Hardy  \nhttp://www.gamepsychogony.co.nz  \nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in \nthe Software without restriction, including without limitation the rights to \nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies \nof the Software, and to permit persons to whom the Software is furnished to do \nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR \nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE \nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER \nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE \nSOFTWARE.\n\n\n\n-------------------------------------------------------------------------------\nBeau Hardy June 2008\n\nThis work is based on the concepts described by 'HexiDave' 'Project OgrePlanet - Slowly coming back to life' http://www.ogre3d.org/phpBB2/viewtopic.php?t=30819\n\n## OVERVIEW\nRevisiting the QuadOgre project with a redesign from the ground up.\nInstead of brute force precalculation of all vertex positions and patch types a more elegant approach is used as described by another individual at http://www.ogre3d.org/phpBB2/viewtopic.php?t=30819\nA quad tree is built for each face of a cube during runtime and then 'spherized' (http://mathproofs.blogspot.com/2005/07/mapping-cube-to-sphere.html).\nWhile the startup processing time is significantly reduced, this application is still CPU bound on my CPU - quad tree restructuring and frustum culling is performed on the CPU in real time.\nFrustum and occulsion culling have been implemented to reduce the polygon counts to managable levels.\n\nThere is still one issue with texturing - all textures must be 'cubic'. Standard 'tileable' textures do not tile to the face of a cube.\nGiven a single tileable 2D texture http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Build_a_skybox has a method which can produce a texture for each cube face.\nBasically you texture the inside of a sphere and environment map this on to the faces of a cube. \n\nProcedural generation of the Planet from random vectors is still quite slow.  More traditional height map solutions will provide quicker startup performance.\n\n\n## EXECUTING\nIn the highly unlikely event that executing this program should in any way damage your computing systems or data, I take no responsibility to the full extent of applicable regional and internation laws.\nYou will require a modern CPU and graphics card.  Development and testing was performed on an Intel 925D (3Ghz Dual core) processor with an ATI radeon graphics card 9550/X1050 128Mb dedicated RAM.\nPrebuilt executables for release and debug versions can be found in the bin/Release and bin/Debug directories respectively.\n\n## USAGE\nThe planet is rotated with the mouse and/or 'up', 'down', 'left', 'right', 'pgup' and 'pgdown'.  \nThe camera is moved with 'W', 'S', 'A' and 'D'.\nThe 'R' key toggles the render mode (solid, wireframe, point).\nThe 'printscreen' key can be used to take screenshots.\nCamera details can be displayed with the 'P' key.\nThe 'numpad0' key toggles a freeze on the level of detail changes (shows what is going on for debugging).\n'ESC' or 'Q' quit the program (this will only work after the planet has been built).\n\n## CODE NOTES\nSearch for 'XXX' and/or 'TODO' to highlight issues\nThe OgrePlanet project has a post build command to package .obj files to a .lib for OgrePlanetTest\nThe OgrePlanetTest project automatically executes via a post build command, set OgrePlanetTest as the 'startup project' (right click project in IDE) and press play to debug failed tests.\n\n\n## KNOWN ISSUES\nSerialisation has not been implemented (different planet every time).\nThere are some texture seams due to the texture media being used.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogrecave%2Fogre-planet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fogrecave%2Fogre-planet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogrecave%2Fogre-planet/lists"}