• Stars
    star
    113
  • Rank 308,941 (Top 7 %)
  • Language
    C++
  • Created about 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple OpenGL mesh/point cloud viewer

C++ mesh + point cloud visualizer

A basic OpenGL visualizer for meshes and pointclouds. Uses Eigen matrices to store data, which is convenient for projects already using Eigen.

Example of visualizer created using meshview: Screenshot of smplx-viewer Code: https://github.com/sxyu/smplxpp/blob/master/main_viewer.cpp

Azure Kinect camera point cloud visualization: Screenshot of pcview (depth map viewer)

Scene from example.cpp: Screenshot of example

Features

  • Drawing meshes (using phong lighting model)
    • Coloring mesh via texture mapping
      • Diffuse and specular textures
    • Alternatively, coloring mesh by interpolating vertex color
    • Automated vertex normal computation
  • Drawing point clouds
  • Drawing poly-lines (as point clouds with .line=true)
  • Drawing several geometric objects (line, cube, square, [UV] sphere) directly
  • Controlling camera and lighting
  • RGB/XYZ axes
  • Optionally includes Dear ImGUI which can be used without any additional setup, by writing ImGui calls (like ImGui::Begin()) in the viewer.on_gui event handler

Note this project does not support importing/exporting models, and is mostly intended for visualizing programmatically generated objects. For model I/O please look into integrating assimp.

#include "meshview/meshview.hpp"
...

meshview::Viewer viewer;
// do drawing
viewer.add_xyz(args);
// handle events
viewer.on_xyz = [&](args) {
}
viewer.show();

See example.cpp for usage examples.

Installation

External dependencies

  • OpenGL 3+
  • C++14
  • Eigen 3.3 or 3.4 beta

Build

Use CMake in the usual way. mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release

  • Unix: make -j<threads> && make install
  • Windows: cmake --build . --target Release

Options:

  • -DMESHVIEW_BUILD_IMGUI=OFF to disable Dear ImGui GUI system
  • -DMESHVIEW_BUILD_EXAMPLE=OFF to disable building the (very simple) example program

More Repositories

1

svox2

Plenoxels: Radiance Fields without Neural Networks
Python
2,798
star
2

pixel-nerf

PixelNeRF Official Repository
Python
1,381
star
3

volrend

PlenOctree Volume Rendering (supports CUDA & fragment shader backends)
C++
608
star
4

plenoctree

PlenOctrees: NeRF-SH Training & Conversion
Python
420
star
5

sdf

Parallelized triangle mesh --> continuous signed distance field on CPU
C++
397
star
6

nerfvis

NeRF visualization library under construction
HTML
281
star
7

smplxpp

Super fast SMPL/+H/-X implementation in C++, with CUDA support and a built-in OpenGL renderer
C++
161
star
8

avatar

Fitting SMPL human body model to depth images in CPU real-time (combining SMPLify, original Kinect; new version of OpenARK avatar)
C++
102
star
9

svox

PlenOctrees construction + rendering PyTorch CUDA extension
Python
77
star
10

nivalis

Desmos-like function plotter using webasm
C++
26
star
11

rgbdrec

Depth camera pose estimation utility, with common abstraction on top of COLMAP, ORB_SLAM2
C++
19
star
12

Quaternion-SR-UKF

a minimal header-only C++ square root UKF library, with support for quaternion state vectors
C++
16
star
13

watplot

Interactive waterfall plots for Breakthrough Listen data
C++
5
star
14

Jiggly

Django web app for generating Kahoot-like jigsaw/matching games from vocabulary lists. Contains a GUI for students to play the games from their own devices and a live scoreboard the teacher can show on a screen for the class to see who is ahead.
HTML
4
star
15

volrend_human

C++ Renderer for CS 184 Final Project - Humans/Animatable NeRF (Not polished)
C++
3
star
16

segtool

Simple OpenCV GrabCut GUI + PointRend wrapper
Python
3
star
17

OpenARK-Deps

OpenARK Dependency Installer for Windows. Installs a bunch of common computer vision-related packages.
NSIS
2
star
18

sxyu.github.io

Personal website free hosting
JavaScript
2
star
19

Colors-of-Harmony

Music-to-notation transcription program, presented at Startup Weekend Vancouver 2016 w/ Luofei Chen
C#
2
star
20

Hexane

An online calculator that supports calculations with significant figures. Designed for use by chemistry students and has an equation balancer, a molar mass calculator, etc. Math input field powered by MathQuill.
JavaScript
2
star
21

Cantus-Core

A .NET library for interpreting Cantus, my personal programming language that takes inspiration from Python and Matlab. This library can also be used for evaluating mathematical expressions. Note: this is a fun project I made a long time ago duing high school and is pretty buggy, if I am to design a language now I would do so very differently.
C#
1
star