https://github.com/uysalibov/gezgin Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} uysalibov / gezgin Public * Notifications * Fork 0 * Star 19 * Modern Pathfinding Using OpenStreetMap Data with Raylib License WTFPL license 19 stars 0 forks Branches Tags Activity Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights uysalibov/gezgin This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit message Last commit date Latest commit History 65 Commits FileParser FileParser Maps Maps Processing Processing Renderer Renderer docs docs .gitignore .gitignore CMakeLists.txt CMakeLists.txt LICENSE.txt LICENSE.txt README.md README.md main.cpp main.cpp View all files Repository files navigation * README * WTFPL license [gezgin_logo_animation] gezgin is a simple pathfinding visualizer application Explore Istanbul's streets visually with gezgin, our pathfinding tool. Made using C++ and raylib, Gezgin helps you see different routes through the city. Easy to use and visually engaging, it's a great way to navigate Istanbul's roads. gezgin highly inspired by a YouTube video from Navigraphix --------------------------------------------------------------------- GitHub License features * Istanbul roads visualization * Cross-platform * Overpass API OSM Json parsing * Geospatial indexing * Geospatial standartization and scaling * Dijkstra pathfinding * Adjacency list for data structure * 60 FPS 300k node/way rendering (RenderTexture) usage gezgin.mp4 [gezgin_ss1] [gezgin_ss2] build gezgin is a cross-platform tool, allowing compilation for Linux, Windows, and macOS. To compile gezgin, you'll need CMake, make, raylib, and gcc installed on your system. gezgin also offers automated dependency installation, simplifying the setup process for users. 1. Create build folder mkdir build 2. Navigate to the build folder cd build 3. CMake cmake .. -G "Unix Makefiles" 4. Compile gezgin make 5. Run binary file ./gezgin.exe afterword I developed this application before i graduated from university. It might have some structural problem, after all i am a newbie graphic lover. When i started this project, i thought it would be easier. But my inexperience comes from here, it didn't happen that way. Geohash and conversion of latitude and longitude into the Cartesian system are things I've learned. I used a data structure that effectively holds more than 300k nodes. At first I considered a neighborhood matrix, but when I realized it required 77GB of ram I had to look for other methods. Generating more than 600k rows in each frame reduced the FPS to 15. I fixed it to 60 fps by drawing the paths in RenderTexture2D. Thanks to the raylib subreddit for this help. Raylib is really a great tool. I love working with it and will continue to do so. About Modern Pathfinding Using OpenStreetMap Data with Raylib Resources Readme License WTFPL license Activity Stars 19 stars Watchers 1 watching Forks 0 forks Report repository Releases No releases published Packages 0 No packages published Languages * C++ 88.5% * CMake 11.5% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.