Loading repository data…
Loading repository data…
Geekgineer / repository
CloudPeek is a lightweight, cross-platform, single-header C++ point cloud viewer. It’s designed for simplicity and efficiency, requiring no heavy libraries like PCL or Open3D. Ideal for visualizing and interacting with 3D data from LiDAR, photogrammetry, or other datasets, CloudPeek delivers powerful, real-time exploration in a minimalistic package
CloudPeek is a lightweight, c++ single-header, cross-platform point cloud viewer, designed for simplicity and efficiency without relying on heavy external libraries like PCL or Open3D. It provides an intuitive way to visualize and interact with 3D point cloud data across multiple platforms. Whether you're working with LiDAR scans, photogrammetry, or other 3D datasets, CloudPeek delivers a minimalistic yet powerful tool for seamless exploration and analysis—all with just a single header file.
High-Performance Rendering
Comprehensive Camera Controls Arcball Camera Model
Interactive Grid and Axes
Color Mapping
Asynchronous Data Processing
Flexible Input Handling
Supported Data Formats
Follow these instructions to set up and run CloudPeek on your local machine.
Ensure you have the following installed on your system:
build.sh.Clone the Repository
git clone https://github.com/yourusername/CloudPeek.git
cd CloudPeek
Build the Project
Note: Ensure build.sh has execution permissions. If not, make it executable:
$chmod +x build.sh
./run.sh data/lidar_kitti_sample.pcd
Note: Replace data/lidar_kitti_sample.pcd with the path to your own PCD file as needed.
Once the application is running smiler to this demo, you can interact with the point cloud using the following controls:
F1 to switch between captured and free cursor modes.R to return the camera to its initial position.ESC to close the viewer.CloudPeek offers several configurable parameters to tailor the viewing experience:
Located in PointCloudViewer.h under the Config namespace, you can adjust the following settings:
WINDOW_WIDTH and WINDOW_HEIGHT: Define the size of the application window.WINDOW_TITLE: Title displayed on the window.GRID_SIZE: Determines the half-size of the grid in meters.GRID_STEP: Sets the spacing between grid lines.INITIAL_DISTANCE: Starting distance of the camera from the target.INITIAL_AZIMUTH and INITIAL_ELEVATION: Initial angles for camera orientation.INITIAL_FOV: Field of view for the perspective projection.CAMERA_SENSITIVITY: Mouse sensitivity for camera rotation.ZOOM_SPEED: Speed multiplier for zooming.PAN_SPEED: Speed multiplier for panning.MIN_DISTANCE and MAX_DISTANCE: Limits for camera zoom distance.POINT_SIZE: Size of each rendered point.SUPPORTED_FIELDS: List of fields that CloudPeek can interpret from PCD files (x, y, z, rgb, rgba).Contributions are welcome! Whether you're fixing bugs, improving features, or adding new functionalities, your input is valuable.
git checkout -b feature/YourFeature
git commit -m "Add your message"
git push origin feature/YourFeature
Distributed under the Apache License 2.0.
Author Geekgineer abdalrahman.m5959@gmail.com.