Commit 93a439fe authored by Jan Möbius's avatar Jan Möbius

Merge branch 'Remove_Glut' into 'master'

Remove glut from OpenMesh

See merge request !209
parents 43a09852 46e9e97a
Pipeline #8482 passed with stages
in 77 minutes and 15 seconds
......@@ -42,6 +42,7 @@
<b>Apps</b>
<ul>
<li>Fixed several warnings with gcc 8</li>
<li>Removed the glut dependency</li>
</ul>
<b>Build System</b>
......
# - try to find glut library and include files
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
# GLUT_LIBRARIES, the libraries to link against
# GLUT_FOUND, If false, do not try to use GLUT.
# Also defined, but not for general use are:
# GLUT_glut_LIBRARY = the full path to the glut library.
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
# License text for the above reference.)
IF (WIN32)
# Check if the base path is set
if ( NOT CMAKE_WINDOWS_LIBS_DIR )
# This is the base directory for windows library search used in the finders we shipp.
set(CMAKE_WINDOWS_LIBS_DIR "c:\libs" CACHE STRING "Default Library search dir on windows." )
endif()
if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*Win64" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2012/x64/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2012/x32/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 12.*Win64" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2013/x64/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 12.*" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2013/x32/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 14.*Win64" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2015/x64/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 14.*" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2015/x32/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 15.*Win64" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2017/x64/")
elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 15.*" )
SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2017/x32/")
endif()
FIND_PATH( GLUT_INCLUDE_DIR NAMES GL/glut.h
PATHS ${GLUT_ROOT_PATH}/include
"${CMAKE_WINDOWS_LIBS_DIR}/glut-3.7/include"
"${VS_SEARCH_PATH}/freeglut-3.0.0/include"
"${VS_SEARCH_PATH}/freeglut-2.8.1/include" )
FIND_LIBRARY( GLUT_release_LIBRARY NAMES glut32 glut freeglut
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
"${CMAKE_WINDOWS_LIBS_DIR}/glut-3.7/lib"
"${VS_SEARCH_PATH}/freeglut-3.0.0/lib"
"${VS_SEARCH_PATH}/freeglut-2.8.1/lib"
)
GET_FILENAME_COMPONENT( GLUT_LIBRARY_DIR ${GLUT_release_LIBRARY} PATH )
FIND_LIBRARY( GLUT_debug_LIBRARY NAMES glut32d glutd freeglutd
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
"${CMAKE_WINDOWS_LIBS_DIR}/glut-3.7/lib"
"${VS_SEARCH_PATH}/freeglut-3.0.0/lib"
"${VS_SEARCH_PATH}/freeglut-2.8.1/lib"
)
set(GLUT_glut_LIBRARY optimized ${GLUT_release_LIBRARY} debug ${GLUT_debug_LIBRARY} CACHE STRING "Path to the glut libraries")
ELSE (WIN32)
IF (APPLE)
# These values for Apple could probably do with improvement.
FIND_PATH( GLUT_INCLUDE_DIR glut.h
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
${OPENGL_LIBRARY_DIR}
)
SET(GLUT_glut_LIBRARY "-framework GLUT" CACHE STRING "GLUT library for OSX")
SET(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
ELSE (APPLE)
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
/usr/include/GL
/usr/openwin/share/include
/usr/openwin/include
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut
/usr/openwin/lib
)
FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
/usr/openwin/lib
)
FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
/usr/openwin/lib
)
ENDIF (APPLE)
ENDIF (WIN32)
SET( GLUT_FOUND "NO" )
IF(GLUT_INCLUDE_DIR)
IF(GLUT_glut_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
SET( GLUT_LIBRARIES
${GLUT_glut_LIBRARY}
${GLUT_Xmu_LIBRARY}
${GLUT_Xi_LIBRARY}
${GLUT_cocoa_LIBRARY}
)
SET( GLUT_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
SET (GLUT_LIBRARY ${GLUT_LIBRARIES})
SET (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
ENDIF(GLUT_glut_LIBRARY)
ENDIF(GLUT_INCLUDE_DIR)
MARK_AS_ADVANCED(
GLUT_INCLUDE_DIR
GLUT_glut_LIBRARY
GLUT_Xmu_LIBRARY
GLUT_Xi_LIBRARY
)
......@@ -39,7 +39,6 @@ if ( BUILD_APPS )
# find needed packages for gui applications
find_package (OpenGL)
find_package (GLUT)
# For the apps, we need qt and opengl to build them
if (NOT QT5_FOUND)
......@@ -50,8 +49,8 @@ if ( BUILD_APPS )
message(WARNING "GUI Apps are not build with mingw. (TODO)")
endif()
# check for OpenGL and GLUT as our required dependencies
if (( QT5_FOUND ) AND OPENGL_FOUND AND GLUT_FOUND AND NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" )
# check for OpenGL as our required dependencies
if (( QT5_FOUND ) AND OPENGL_FOUND AND NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" )
add_subdirectory (Decimating/DecimaterGui)
add_subdirectory (QtViewer)
......@@ -97,10 +96,6 @@ if ( BUILD_APPS )
message ("OpengGL not found! Skipping some apps.")
endif ()
if (NOT GLUT_FOUND)
message ("GLUT not found! Skipping some apps.")
endif ()
endif ()
endif() # Project is OpenMesh standalone
......
......@@ -3,7 +3,6 @@ include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
${GLUT_INCLUDE_DIR}
)
# source code directories
......@@ -36,6 +35,5 @@ target_link_libraries (DecimaterGui
OpenMeshTools
Qt5::OpenGL
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
......@@ -53,12 +53,6 @@
#include "DecimaterViewerWidget.hh"
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
void usage_and_exit(int xcode);
......@@ -72,10 +66,6 @@ int main(int argc, char **argv)
QApplication::setColorSpec( QApplication::CustomColor );
QApplication app(argc,argv);
#if !defined(__APPLE__)
glutInit(&argc,argv);
#endif
if ( !QGLFormat::hasOpenGL() ) {
QString msg = "System has no OpenGL support!";
QMessageBox::critical( NULL, "OpenGL", msg + argv[1] );
......
......@@ -3,7 +3,6 @@ include (ACGCommon)
include_directories (
../../..
${CMAKE_CURRENT_SOURCE_DIR}
${GLUT_INCLUDE_DIR}
)
......@@ -31,6 +30,5 @@ target_link_libraries ( ProgViewer
OpenMeshTools
Qt5::OpenGL
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
......@@ -53,11 +53,6 @@
#include <QApplication>
#include <QGLWidget>
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
int main(int argc, char **argv)
{
......@@ -65,8 +60,6 @@ int main(int argc, char **argv)
QApplication::setColorSpec( QApplication::CustomColor );
QApplication app(argc,argv);
glutInit(&argc,argv);
if ( !QGLFormat::hasOpenGL() ) {
std::cerr << "This system has no OpenGL support.\n";
return -1;
......
......@@ -3,7 +3,6 @@ include (ACGCommon)
include_directories (
../../..
${CMAKE_CURRENT_SOURCE_DIR}
${GLUT_INCLUDE_DIR}
)
# source code directories
......@@ -29,6 +28,5 @@ target_link_libraries (QtViewer
OpenMeshTools
Qt5::OpenGL
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
......@@ -52,11 +52,7 @@
#include <sstream>
#include <algorithm>
// --------------------
#ifdef ARCH_DARWIN
# include <glut.h>
#else
# include <GL/glut.h>
#endif
// --------------------
#include <QApplication>
#include <QMenu>
......@@ -266,21 +262,21 @@ QGLViewerWidget::draw_scene(const std::string& _draw_mode)
if (_draw_mode == "Wireframe")
{
glDisable(GL_LIGHTING);
glutWireTeapot(0.5);
// glutWireTeapot(0.5);
}
else if (_draw_mode == "Solid Flat")
{
glEnable(GL_LIGHTING);
glShadeModel(GL_FLAT);
glutSolidTeapot(0.5);
//glutSolidTeapot(0.5);
}
else if (_draw_mode == "Solid Smooth")
{
glEnable(GL_LIGHTING);
glShadeModel(GL_SMOOTH);
glutSolidTeapot(0.5);
//glutSolidTeapot(0.5);
}
}
......@@ -585,8 +581,19 @@ QGLViewerWidget::update_projection_matrix()
makeCurrent();
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective(45.0, (GLfloat) width() / (GLfloat) height(),
0.01*radius_, 100.0*radius_);
const double fovY = 45.0;
const double aspect = static_cast<double>(width()) / static_cast<double>(height());
const double zNear = 0.01*radius_;
const double zFar = 100.0*radius_;
// Replacement for: gluPerspective(45.0, (GLfloat) width() / (GLfloat) height(), 0.01*radius_, 100.0*radius_);
const double pi = 3.1415926535897932384626433832795;
const double fH = tan( fovY / 360 * pi ) * zNear;
const double fW = fH * aspect;
glFrustum( -fW, fW, -fH, fH, zNear, zFar );
glGetDoublev( GL_PROJECTION_MATRIX, projection_matrix_);
glMatrixMode( GL_MODELVIEW );
}
......
......@@ -51,12 +51,6 @@
#include <QMenuBar>
#include <QFileDialog>
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
#include "MeshViewerWidget.hh"
......@@ -68,9 +62,6 @@ int main(int argc, char **argv)
// OpenGL check
QApplication::setColorSpec( QApplication::CustomColor );
QApplication app(argc,argv);
#if !defined(__APPLE__)
glutInit(&argc,argv);
#endif
if ( !QGLFormat::hasOpenGL() ) {
QString msg = "System has no OpenGL support!";
......
......@@ -3,7 +3,6 @@ include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
${GLUT_INCLUDE_DIR}
)
# source code directories
......@@ -36,6 +35,5 @@ target_link_libraries (SubdividerGui
OpenMeshTools
Qt5::OpenGL
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
......@@ -52,22 +52,12 @@
#include <QMessageBox>
#include "SubdivideWidget.hh"
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
int main(int argc, char **argv)
{
// OpenGL check
QApplication::setColorSpec( QApplication::CustomColor );
QApplication app(argc,argv);
#if !defined(__APPLE__)
glutInit(&argc,argv);
#endif
if ( !QGLFormat::hasOpenGL() ) {
QString msg = "System has no OpenGL support!";
QMessageBox::critical( NULL, "OpenGL", msg + argv[1], QMessageBox::Ok );
......
......@@ -3,7 +3,6 @@ include (ACGCommon)
include_directories (
../../../..
${CMAKE_CURRENT_SOURCE_DIR}
${GLUT_INCLUDE_DIR}
)
# collect all header and source files
......@@ -30,5 +29,4 @@ target_link_libraries (Synthesizer
OpenMeshTools
Qt5::OpenGL
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
......@@ -62,13 +62,6 @@
#include <QFileDialog>
#include <QDataStream>
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/IO/BinaryHelper.hh>
#include <OpenMesh/Core/Utils/Endian.hh>
......
......@@ -52,21 +52,12 @@
#include "VDPMSynthesizerViewerWidget.hh"
#ifdef ARCH_DARWIN
#include <glut.h>
#else
#include <GL/glut.h>
#endif
int main(int argc, char **argv)
{
// OpenGL check
QApplication::setColorSpec( QApplication::CustomColor );
QApplication app(argc,argv);
#if !defined(__APPLE__)
glutInit(&argc,argv);
#endif
if ( !QGLFormat::hasOpenGL() ) {
std::cerr << "This system has no OpenGL support.\n";
......
......@@ -55,7 +55,6 @@
//== INCLUDES =================================================================
#include <OpenMesh/Core/System/config.h>
#include <GL/glut.h>
//== FORWARDDECLARATIONS ======================================================
......
......@@ -161,7 +161,7 @@ TEST_F(OpenMeshEigenTest, Test_Basic_setup) {
mesh_.add_face(face_vhandles);
EXPECT_EQ(mesh_.n_faces(),2) << "Wrong number of faces";
EXPECT_EQ(mesh_.n_faces(),2u) << "Wrong number of faces";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment