{"id":29538778,"url":"https://github.com/jonsnow1807/3d-point-cloud-viewer","last_synced_at":"2026-05-18T17:01:48.603Z","repository":{"id":303918761,"uuid":"1016847162","full_name":"JonSnow1807/3D-Point-Cloud-Viewer","owner":"JonSnow1807","description":"A high-performance 3D point cloud visualization engine built with C++17 and OpenGL, achieving 858 FPS with 1M+ points through advanced spatial optimization.","archived":false,"fork":false,"pushed_at":"2025-07-10T05:52:03.000Z","size":9211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-10T14:21:36.533Z","etag":null,"topics":["3d-visualization","computer-graphics","cpp","frustum-culling","high-performance","octtree","opengl","point-cloud"],"latest_commit_sha":null,"homepage":"","language":"C++","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/JonSnow1807.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T16:04:54.000Z","updated_at":"2025-07-10T05:52:06.000Z","dependencies_parsed_at":"2025-07-10T14:24:22.908Z","dependency_job_id":"1bc162a0-2b96-419b-a9e2-0cb718e36037","html_url":"https://github.com/JonSnow1807/3D-Point-Cloud-Viewer","commit_stats":null,"previous_names":["jonsnow1807/3d-point-cloud-viewer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/JonSnow1807/3D-Point-Cloud-Viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonSnow1807%2F3D-Point-Cloud-Viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonSnow1807%2F3D-Point-Cloud-Viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonSnow1807%2F3D-Point-Cloud-Viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonSnow1807%2F3D-Point-Cloud-Viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonSnow1807","download_url":"https://codeload.github.com/JonSnow1807/3D-Point-Cloud-Viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonSnow1807%2F3D-Point-Cloud-Viewer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265567461,"owners_count":23789489,"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-visualization","computer-graphics","cpp","frustum-culling","high-performance","octtree","opengl","point-cloud"],"created_at":"2025-07-17T05:15:36.533Z","updated_at":"2026-05-18T17:01:43.560Z","avatar_url":"https://github.com/JonSnow1807.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 3D Point Cloud Viewer\n\n[![C++](https://img.shields.io/badge/C%2B%2B-17-blue.svg)](https://en.wikipedia.org/wiki/C%2B%2B17)\n[![OpenGL](https://img.shields.io/badge/OpenGL-3.3-green.svg)](https://www.opengl.org/)\n[![CMake](https://img.shields.io/badge/CMake-3.14+-red.svg)](https://cmake.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Performance](https://img.shields.io/badge/Performance-858%20FPS-brightgreen.svg)](benchmarks/PERFORMANCE_RESULTS.md)\n\n\nA high-performance 3D point cloud visualization engine built with C++17 and OpenGL, achieving **858 FPS with 1M+ points** through advanced spatial optimization.\n## Features\n\n- **High Performance Rendering**: Renders millions of points at 60+ FPS using OpenGL\n- **Spatial Optimization**: Octree-based view frustum culling and LOD (Level of Detail) rendering\n- **Real-time Processing**: Point cloud filtering with \u003c100ms execution time\n- **Memory Efficient**: Custom memory pooling reduces memory footprint by 40%\n- **Modular Architecture**: Clean, extensible design with CMake build system\n\n## 🏆 Key Achievements\n\n- **14x Performance**: 858 FPS vs 60 FPS target with 1M points\n- **99% Culling Efficiency**: Only renders visible points\n- **Real-time Ready**: Sub-millisecond frame times\n- **Scales to 2M+ Points**: Maintains 1200+ FPS\n- **Memory Optimized**: 38 bytes per point (40% reduction)\n\n## Performance Metrics\n\n- **Rendering**: 1M+ points at 858 FPS (14x target)\n- **Filtering**: \u003c100ms for 500K point datasets\n- **Memory**: 40% reduction through custom memory pooling\n- **Benchmark**: 3-4x performance improvement over PCL viewer baseline\n\n## 🎯 Performance Showcase\n\n### Real-World Results\n| Point Count | FPS | Frame Time | Points Culled |\n|------------|-----|------------|---------------|\n| 10,000 | 1,546 | 0.65ms | 55% |\n| 100,000 | 1,000+ | \u003c1ms | 75% |\n| 500,000 | 463 | 2.16ms | 87% |\n| **1,000,000** | **858** | **1.16ms** | **96%** |\n| 2,000,000 | 1,207 | 0.83ms | 99% |\n\n*Achieved 14x the target performance (858 FPS vs 60 FPS target)*\n\n\n## Architecture\n\n```\n├── Core Components\n│   ├── PointCloud: Efficient point data structure\n│   ├── Octree: Spatial indexing for culling and LOD\n│   └── MemoryPool: Custom memory management\n├── Rendering Pipeline\n│   ├── Renderer: OpenGL-based rendering engine\n│   ├── Camera: Interactive 3D camera system\n│   └── Shaders: GPU-accelerated point rendering\n└── Processing Filters\n    ├── OutlierRemoval: Statistical and radius-based filtering\n    └── VoxelDownsampling: Point cloud decimation\n```\n\n## Quick Start\n\n### Prerequisites\n- C++17 compatible compiler\n- CMake 3.14+\n- OpenGL 3.3+\n- GLFW, GLEW, GLM\n\n### Build\n```bash\ngit clone https://github.com/JonSnow1807/3D-Point-Cloud-Viewer.git\ncd 3D-Point-Cloud-Viewer\nmkdir build \u0026\u0026 cd build\ncmake -DCMAKE_BUILD_TYPE=Release ..\n\n# Build with all available cores\nmake -j$(nproc)           # Linux\nmake -j$(sysctl -n hw.ncpu)  # macOS\n```\n\n### Run\n```bash\n./PointCloudViewer                    # Generate sample data\n./PointCloudViewer cloud.xyz          # Load from file\n```\n\n## Usage\n\n### Controls\n- **WASD/QE**: Navigate camera\n- **Mouse**: Look around (hold Space)\n- **Scroll**: Zoom\n- **ESC**: Exit\n\n### File Format\nSupports XYZ RGB format:\n```\n# X Y Z R G B\n0.0 0.0 0.0 1.0 0.0 0.0\n1.0 0.0 0.0 0.0 1.0 0.0\n```\n\n## Implementation Details\n\n### Octree Spatial Indexing\n- Hierarchical space partitioning for efficient queries\n- View frustum culling eliminates non-visible points\n- Dynamic LOD based on distance from viewer\n\n### Memory Pooling\n- Pre-allocated memory blocks for points\n- Reduces allocation overhead\n- 40% memory footprint reduction\n\n### Rendering Pipeline\n1. Frustum calculation from camera matrices\n2. Octree query for visible points\n3. LOD selection based on distance\n4. GPU buffer updates\n5. Point rendering with custom shaders\n\n## Performance Testing\n\nThis project includes comprehensive performance benchmarks:\n\n```bash\n# Generate test data (10K to 2M points)\npython3 benchmarks/scripts/generate_test_data.py\n\n# Run interactive performance tests\n./benchmarks/scripts/run_performance_test.sh\n\n# Measure octree construction time\ncd build\ng++ -O3 -std=c++17 ../benchmarks/src/test_octree_timing.cpp -o octree_timing\n./octree_timing\n```\n## Future Enhancements\n\n- [ ] Multi-threaded octree construction\n- [ ] GPU-based frustum culling\n- [ ] Point cloud compression\n- [ ] Support for LAS/LAZ formats\n- [ ] Real-time point cloud streaming\n\n## License\n\nMIT License - See LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonsnow1807%2F3d-point-cloud-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonsnow1807%2F3d-point-cloud-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonsnow1807%2F3d-point-cloud-viewer/lists"}