sgrottel / micro-points-viewer

Super minimalistic 3d point data viewer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Micro Points Viewer

Super minimalistic 3d point data viewer.

With point data, I mean both, volumetric point data, e.g. from simulations, and point cloud data. The minimalistic aspect includes both, only providing core functionality, and avoiding clever data structures as much as possible. This viewer is the base for further, more advanced variants.

Build status

Features

  • Can load a fixed (maximum) number of points from a simple input file format
  • Points are XYZ RGB; no transparency.
    • An object-space point/ball size can be configured.
    • Points are to be rendered as unlit, unshaded balls.
  • Points can additionally be selected, temporarily changing their color to a fixed selection color.
    • Selections are created by specifying a sphere point and radius to switch all points inside either to selected or unselected, iteratively.
  • The point data is transformed by one configurable model matrix.
  • There is one clipping box definition, with
    • spatial size, and a model matrix, and
    • configurations to hide points inside the box, outside the box, or to show all points
  • There is only one perspective camera, view and projection matrices defined by:
    • position, lookat, and up vectors,
    • near clip, far clip distance hints, and
    • field of view angle.
  • Interactive OpenGL 4.1 core window, based on GLFW, glLoadGen, glm
  • Minimalistic UI based on DearImGui
  • A screenshot can be created at specified resolution (single FBO) and saved as PNG image file
  • All features can be controlled via UI and command line arguments, allowing for batch processing.
    • Exception apply, e.g. loading data is only available via command line arguments.

How to Build

TODO

License

Copyright 2021 SGrottel (https://www.sgrottel.de)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

For details, see LICENSE file.

About

Super minimalistic 3d point data viewer.

License:Apache License 2.0


Languages

Language:CMake 64.9%Language:XSLT 26.9%Language:C++ 7.8%Language:C 0.4%