MagicView icon indicating copy to clipboard operation
MagicView copied to clipboard

Minimalistic OpenGL GUI for Viewing 3D Models

MagicView

This project only supports Visual Studio 2015, 2017 x64.

Basic implementation for viewing polyhedral mesh based on Qt GUI.

Now this code includes a basic implementation for OpenGL rendering, arcball and primitive selection for user interaction.

Dependencies: CGAL and Qt5. Install CGAL and Qt for Windows first.

GUI Example

This example shows loading a large mesh. alt text

This example shows face, edge and vertex selection. alt text

Before using cmake to generate project

Make sure the following environment variables are set:

BOOST_LIBRARYDIR = ${BOOST_LOCAL_DIR}\lib64-msvc-xx.0
BOOST_INCLUDEDIR = ${BOOST_LOCAL_DIR}
CGAL_DIR = ${CGAL_LOCAL_DIR}
Qt5_DIR = ${Qt5_LOCAL_DIR}\5.xx.0\msvcxxxx_64

Add the following environment variables to PATH:

${BOOST_LOCAL_DIR}\lib64-msvc-14.0
${CGAL_LOCAL_DIR}\auxiliary\gmp\lib
${CGAL_LOCAL_DIR}\build\bin
${Qt5_LOCAL_DIR}\5.xx.0\msvcxxxx_64\bin
${Qt5_LOCAL_DIR}\5.xx.0\msvcxxxx_64\plugins\platforms

After building the project

Copy the following files to .exe folder from ${Qt5_LOCAL_DIR}\5.xx.0\msvcxxxx_64\bin:

libEGL.dll
libGLESv2.dll
Qt5Core.dll
Qt5Gui.dll
Qt5OpenGL.dll
Qt5Widgets.dll

Copy the following folder to .exe folder:

${Qt5_LOCAL_DIR}\5.xx.0\msvcxxxx_64\plugins\platforms

References

Ray Triangle intersection code is from https://github.com/jeremynewlin/Accel.

Import and export icons are from https://icons8.com.

Black cursor-clicked icon is from https://www.shareicon.net, which is integrated in face, edge and vertex selection icon.