/MagicView

Minimalistic OpenGL GUI for Viewing 3D Models

Primary LanguageC++

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.