|
Line
Link Here
|
| 0 |
-- a/src/hugin1/hugin/ProjectionGridTool.cpp |
0 |
++ b/src/hugin1/hugin/ProjectionGridTool.cpp |
|
Lines 24-35
Link Here
|
| 24 |
#ifdef _WIN32 |
24 |
#ifdef _WIN32 |
| 25 |
#include "wx/msw/wrapwin.h" |
25 |
#include "wx/msw/wrapwin.h" |
| 26 |
#endif |
26 |
#endif |
| 27 |
#include <GL/glew.h> |
27 |
#include <epoxy/gl.h> |
| 28 |
#ifdef __WXMAC__ |
28 |
#ifdef __WXMAC__ |
| 29 |
#include <OpenGL/gl.h> |
|
|
| 30 |
#include <OpenGL/glu.h> |
29 |
#include <OpenGL/glu.h> |
| 31 |
#else |
30 |
#else |
| 32 |
#include <GL/gl.h> |
|
|
| 33 |
#include <GL/glu.h> |
31 |
#include <GL/glu.h> |
| 34 |
#endif |
32 |
#endif |
| 35 |
#ifdef __APPLE__ |
33 |
#ifdef __APPLE__ |
|
Lines 323-329
Link Here
|
| 323 |
if (!checked_anisotropic) |
321 |
if (!checked_anisotropic) |
| 324 |
{ |
322 |
{ |
| 325 |
// check if it is supported |
323 |
// check if it is supported |
| 326 |
if (GLEW_EXT_texture_filter_anisotropic) |
324 |
if (epoxy_has_gl_extension("GL_EXT_texture_filter_anisotropic")) |
| 327 |
{ |
325 |
{ |
| 328 |
has_anisotropic = true; |
326 |
has_anisotropic = true; |
| 329 |
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropy); |
327 |
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropy); |
| 330 |
-- a/src/hugin1/hugin/TextureManager.cpp |
328 |
++ b/src/hugin1/hugin/TextureManager.cpp |
|
Lines 48-62
Link Here
|
| 48 |
|
48 |
|
| 49 |
// The OpenGL Extension wrangler libray will find extensions and the latest |
49 |
// The OpenGL Extension wrangler libray will find extensions and the latest |
| 50 |
// supported OpenGL version on all platforms. |
50 |
// supported OpenGL version on all platforms. |
| 51 |
#include <GL/glew.h> |
51 |
#include <epoxy/gl.h> |
| 52 |
#include <wx/platform.h> |
52 |
#include <wx/platform.h> |
| 53 |
#include <wx/display.h> |
53 |
#include <wx/display.h> |
| 54 |
|
54 |
|
| 55 |
#ifdef __WXMAC__ |
55 |
#ifdef __WXMAC__ |
| 56 |
#include <OpenGL/gl.h> |
|
|
| 57 |
#include <OpenGL/glu.h> |
56 |
#include <OpenGL/glu.h> |
| 58 |
#else |
57 |
#else |
| 59 |
#include <GL/gl.h> |
|
|
| 60 |
#include <GL/glu.h> |
58 |
#include <GL/glu.h> |
| 61 |
#endif |
59 |
#endif |
| 62 |
|
60 |
|
|
Lines 628-634
Link Here
|
| 628 |
if (!checked_anisotropic) |
626 |
if (!checked_anisotropic) |
| 629 |
{ |
627 |
{ |
| 630 |
// check if it is supported |
628 |
// check if it is supported |
| 631 |
if (GLEW_EXT_texture_filter_anisotropic) |
629 |
if (epoxy_has_gl_extension("GL_EXT_texture_filter_anisotropic")) |
| 632 |
{ |
630 |
{ |
| 633 |
has_anisotropic = true; |
631 |
has_anisotropic = true; |
| 634 |
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropy); |
632 |
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropy); |
| 635 |
-- a/src/hugin_base/hugin_utils/utils.cpp |
633 |
++ b/src/hugin_base/hugin_utils/utils.cpp |
|
Lines 57-65
Link Here
|
| 57 |
#include <libgen.h> /* dirname */ |
57 |
#include <libgen.h> /* dirname */ |
| 58 |
#endif |
58 |
#endif |
| 59 |
|
59 |
|
| 60 |
#include <GL/glew.h> |
60 |
#include <epoxy/gl.h> |
| 61 |
#ifdef _WIN32 |
61 |
#ifdef _WIN32 |
| 62 |
#include <GL/wglew.h> |
62 |
#include <epoxy/wgl.h> |
| 63 |
#elif defined __APPLE__ |
63 |
#elif defined __APPLE__ |
| 64 |
#include <GLUT/glut.h> |
64 |
#include <GLUT/glut.h> |
| 65 |
#endif |
65 |
#endif |
|
Lines 584-589
Link Here
|
| 584 |
{ |
584 |
{ |
| 585 |
return false; |
585 |
return false; |
| 586 |
}; |
586 |
}; |
|
|
587 |
epoxy_handle_external_wglMakeCurrent(); |
| 587 |
return true; |
588 |
return true; |
| 588 |
} |
589 |
} |
| 589 |
|
590 |
|
|
Lines 592-597
Link Here
|
| 592 |
if (context.renderingContext != NULL) |
593 |
if (context.renderingContext != NULL) |
| 593 |
{ |
594 |
{ |
| 594 |
wglMakeCurrent(NULL, NULL); |
595 |
wglMakeCurrent(NULL, NULL); |
|
|
596 |
epoxy_handle_external_wglMakeCurrent(); |
| 595 |
wglDeleteContext(context.renderingContext); |
597 |
wglDeleteContext(context.renderingContext); |
| 596 |
} |
598 |
} |
| 597 |
if (context.window != NULL && context.dc != NULL) |
599 |
if (context.window != NULL && context.dc != NULL) |
|
Lines 628-634
Link Here
|
| 628 |
|
630 |
|
| 629 |
#else |
631 |
#else |
| 630 |
#if defined HAVE_EGL && HAVE_EGL |
632 |
#if defined HAVE_EGL && HAVE_EGL |
| 631 |
#include <EGL/egl.h> |
633 |
#include <epoxy/egl.h> |
| 632 |
|
634 |
|
| 633 |
struct ContextSettings |
635 |
struct ContextSettings |
| 634 |
{ |
636 |
{ |
|
Lines 714-720
Link Here
|
| 714 |
#else |
716 |
#else |
| 715 |
#include <X11/Xlib.h> |
717 |
#include <X11/Xlib.h> |
| 716 |
#include <X11/Xutil.h> |
718 |
#include <X11/Xutil.h> |
| 717 |
#include <GL/glx.h> |
719 |
#include <epoxy/glx.h> |
| 718 |
|
720 |
|
| 719 |
struct ContextSettings |
721 |
struct ContextSettings |
| 720 |
{ |
722 |
{ |
|
Lines 811-836
Link Here
|
| 811 |
{ |
813 |
{ |
| 812 |
return false; |
814 |
return false; |
| 813 |
}; |
815 |
}; |
| 814 |
int err = glewInit(); |
|
|
| 815 |
if (err != GLEW_OK) |
| 816 |
{ |
| 817 |
std::cerr << argv[0] << ": an error occurred while setting up the GPU:" << std::endl; |
| 818 |
std::cerr << glewGetErrorString(err) << std::endl; |
| 819 |
std::cerr << argv[0] << ": Switching to CPU calculation." << std::endl; |
| 820 |
DestroyContext(); |
| 821 |
return false; |
| 822 |
} |
| 823 |
|
816 |
|
| 824 |
std::cout << hugin_utils::stripPath(argv[0]) << ": using graphics card: " << glGetString(GL_VENDOR) << " " << glGetString(GL_RENDERER) << std::endl; |
817 |
std::cout << hugin_utils::stripPath(argv[0]) << ": using graphics card: " << glGetString(GL_VENDOR) << " " << glGetString(GL_RENDERER) << std::endl; |
| 825 |
|
818 |
|
| 826 |
const GLboolean has_arb_fragment_shader = glewGetExtension("GL_ARB_fragment_shader"); |
819 |
const GLboolean has_arb_fragment_shader = epoxy_has_gl_extension("GL_ARB_fragment_shader"); |
| 827 |
const GLboolean has_arb_vertex_shader = glewGetExtension("GL_ARB_vertex_shader"); |
820 |
const GLboolean has_arb_vertex_shader = epoxy_has_gl_extension("GL_ARB_vertex_shader"); |
| 828 |
const GLboolean has_arb_shader_objects = glewGetExtension("GL_ARB_shader_objects"); |
821 |
const GLboolean has_arb_shader_objects = epoxy_has_gl_extension("GL_ARB_shader_objects"); |
| 829 |
const GLboolean has_arb_shading_language = glewGetExtension("GL_ARB_shading_language_100"); |
822 |
const GLboolean has_arb_shading_language = epoxy_has_gl_extension("GL_ARB_shading_language_100"); |
| 830 |
const GLboolean has_ext_framebuffer = glewGetExtension("GL_EXT_framebuffer_object"); |
823 |
const GLboolean has_ext_framebuffer = epoxy_has_gl_extension("GL_EXT_framebuffer_object"); |
| 831 |
const GLboolean has_arb_texture_rectangle = glewGetExtension("GL_ARB_texture_rectangle"); |
824 |
const GLboolean has_arb_texture_rectangle = epoxy_has_gl_extension("GL_ARB_texture_rectangle"); |
| 832 |
const GLboolean has_arb_texture_border_clamp = glewGetExtension("GL_ARB_texture_border_clamp"); |
825 |
const GLboolean has_arb_texture_border_clamp = epoxy_has_gl_extension("GL_ARB_texture_border_clamp"); |
| 833 |
const GLboolean has_arb_texture_float = glewGetExtension("GL_ARB_texture_float"); |
826 |
const GLboolean has_arb_texture_float = epoxy_has_gl_extension("GL_ARB_texture_float"); |
| 834 |
|
827 |
|
| 835 |
if (!(has_arb_fragment_shader && has_arb_vertex_shader && has_arb_shader_objects && has_arb_shading_language && has_ext_framebuffer && has_arb_texture_rectangle && has_arb_texture_border_clamp && has_arb_texture_float)) { |
828 |
if (!(has_arb_fragment_shader && has_arb_vertex_shader && has_arb_shader_objects && has_arb_shading_language && has_ext_framebuffer && has_arb_texture_rectangle && has_arb_texture_border_clamp && has_arb_texture_float)) { |
| 836 |
const char * msg[] = {"false", "true"}; |
829 |
const char * msg[] = {"false", "true"}; |
| 837 |
-- a/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp |
830 |
++ b/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp |
|
Lines 26-32
Link Here
|
| 26 |
#include <iostream> |
26 |
#include <iostream> |
| 27 |
#include <iomanip> |
27 |
#include <iomanip> |
| 28 |
|
28 |
|
| 29 |
#include <GL/glew.h> |
29 |
#include <epoxy/gl.h> |
| 30 |
|
30 |
|
| 31 |
#include <string.h> |
31 |
#include <string.h> |
| 32 |
#ifdef _WIN32 |
32 |
#ifdef _WIN32 |
|
Lines 54-59
Link Here
|
| 54 |
}; |
54 |
}; |
| 55 |
#endif |
55 |
#endif |
| 56 |
#include <time.h> |
56 |
#include <time.h> |
|
|
57 |
|
| 58 |
#ifdef __WXMAC__ |
| 59 |
#include <OpenGL/glu.h> |
| 60 |
#else |
| 61 |
// after windows.h |
| 62 |
#include <GL/glu.h> |
| 63 |
#endif |
| 64 |
#ifdef __APPLE__ |
| 65 |
#include <GLUT/glut.h> |
| 66 |
#endif |
| 57 |
|
67 |
|
| 58 |
#include <vector> |
68 |
#include <vector> |
| 59 |
|
69 |
|
|
Lines 798-804
Link Here
|
| 798 |
const int viewportHeight = std::max<int>(destChunks[0].height(), sourceChunks[0].height()); |
808 |
const int viewportHeight = std::max<int>(destChunks[0].height(), sourceChunks[0].height()); |
| 799 |
glMatrixMode(GL_PROJECTION); |
809 |
glMatrixMode(GL_PROJECTION); |
| 800 |
glLoadIdentity(); |
810 |
glLoadIdentity(); |
| 801 |
gluOrtho2D(0.0, viewportWidth, 0.0, viewportHeight); |
811 |
glOrtho(0.0, viewportWidth, 0.0, viewportHeight, -1, 1); |
| 802 |
glMatrixMode(GL_MODELVIEW); |
812 |
glMatrixMode(GL_MODELVIEW); |
| 803 |
glLoadIdentity(); |
813 |
glLoadIdentity(); |
| 804 |
glViewport(0, 0, viewportWidth, viewportHeight); |
814 |
glViewport(0, 0, viewportWidth, viewportHeight); |
| 805 |
-- a/CMakeLists.txt |
815 |
++ b/CMakeLists.txt |
|
Lines 255-263
Link Here
|
| 255 |
INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) |
255 |
INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) |
| 256 |
SET(OPENGL_GLEW_LIBRARIES ${OPENGL_GLEW_LIBRARIES} ${GLUT_LIBRARIES}) |
256 |
SET(OPENGL_GLEW_LIBRARIES ${OPENGL_GLEW_LIBRARIES} ${GLUT_LIBRARIES}) |
| 257 |
ENDIF() |
257 |
ENDIF() |
| 258 |
FIND_PACKAGE(GLEW REQUIRED) |
258 |
PKG_SEARCH_MODULE(EPOXY epoxy REQUIRED) |
| 259 |
INCLUDE_DIRECTORIES(${GLEW_INCLUDE_DIR}) |
259 |
INCLUDE_DIRECTORIES(${EPOXY_INCLUDE_DIR}) |
| 260 |
SET(OPENGL_GLEW_LIBRARIES ${OPENGL_GLEW_LIBRARIES} ${GLEW_LIBRARIES}) |
260 |
SET(OPENGL_GLEW_LIBRARIES ${OPENGL_GLEW_LIBRARIES} ${EPOXY_LIBRARIES}) |
| 261 |
IF(NOT HUGIN_SHARED OR NOT WIN32) |
261 |
IF(NOT HUGIN_SHARED OR NOT WIN32) |
| 262 |
ADD_DEFINITIONS(-DGLEW_STATIC) |
262 |
ADD_DEFINITIONS(-DGLEW_STATIC) |
| 263 |
ENDIF() |
263 |
ENDIF() |
| 264 |
-- a/src/hugin1/hugin/GLPreviewFrame.cpp |
264 |
++ b/src/hugin1/hugin/GLPreviewFrame.cpp |
|
Lines 28-35
Link Here
|
| 28 |
#include <iostream> |
28 |
#include <iostream> |
| 29 |
|
29 |
|
| 30 |
#include "hugin_config.h" |
30 |
#include "hugin_config.h" |
| 31 |
|
|
|
| 32 |
#include <GL/glew.h> |
| 33 |
|
31 |
|
| 34 |
#include "panoinc_WX.h" |
32 |
#include "panoinc_WX.h" |
| 35 |
#include "panoinc.h" |
33 |
#include "panoinc.h" |
| 36 |
-- a/src/hugin1/hugin/GLViewer.cpp |
34 |
++ b/src/hugin1/hugin/GLViewer.cpp |
|
Lines 25-31
Link Here
|
| 25 |
|
25 |
|
| 26 |
#include "panoinc.h" |
26 |
#include "panoinc.h" |
| 27 |
#include "hugin_config.h" |
27 |
#include "hugin_config.h" |
| 28 |
#include <GL/glew.h> |
28 |
#include <epoxy/gl.h> |
| 29 |
#include <base_wx/platform.h> |
29 |
#include <base_wx/platform.h> |
| 30 |
#include <wx/settings.h> |
30 |
#include <wx/settings.h> |
| 31 |
#include <wx/dcclient.h> |
31 |
#include <wx/dcclient.h> |
|
Lines 39-45
Link Here
|
| 39 |
#include "GLPreviewFrame.h" |
39 |
#include "GLPreviewFrame.h" |
| 40 |
#include "hugin/huginApp.h" |
40 |
#include "hugin/huginApp.h" |
| 41 |
|
41 |
|
| 42 |
bool GLViewer::initialised_glew=false; |
|
|
| 43 |
ViewState * GLViewer::m_view_state = NULL; |
42 |
ViewState * GLViewer::m_view_state = NULL; |
| 44 |
size_t GLViewer::m_view_state_observer = 0; |
43 |
size_t GLViewer::m_view_state_observer = 0; |
| 45 |
|
44 |
|
|
Lines 121-144
Link Here
|
| 121 |
// It appears we are setting up for the first time. |
120 |
// It appears we are setting up for the first time. |
| 122 |
started_creation = true; |
121 |
started_creation = true; |
| 123 |
|
122 |
|
| 124 |
if (!initialised_glew) |
|
|
| 125 |
{ |
| 126 |
// initialise the glew library, if not done it before. |
| 127 |
GLenum error_state = glewInit(); |
| 128 |
initialised_glew = true; |
| 129 |
if (error_state != GLEW_OK) |
| 130 |
{ |
| 131 |
// glewInit failed |
| 132 |
started_creation=false; |
| 133 |
DEBUG_ERROR("Error initialising GLEW: " |
| 134 |
<< glewGetErrorString(error_state) << "."); |
| 135 |
frame->Close(); |
| 136 |
wxMessageBox(_("Error initializing GLEW\nFast preview window can not be opened."),_("Error"), wxOK | wxICON_ERROR); |
| 137 |
return; |
| 138 |
} |
| 139 |
} |
| 140 |
// check the openGL capabilities. |
123 |
// check the openGL capabilities. |
| 141 |
if (!(GLEW_VERSION_1_1 && GLEW_ARB_multitexture)) |
124 |
if (epoxy_gl_version() < 11 && !epoxy_has_gl_extension("GL_ARB_multitexture")) |
| 142 |
{ |
125 |
{ |
| 143 |
started_creation=false; |
126 |
started_creation=false; |
| 144 |
wxConfigBase::Get()->Write(wxT("DisableOpenGL"), 1l); |
127 |
wxConfigBase::Get()->Write(wxT("DisableOpenGL"), 1l); |
| 145 |
-- a/src/hugin1/hugin/GLViewer.h |
128 |
++ b/src/hugin1/hugin/GLViewer.h |
|
Lines 99-105
Link Here
|
| 99 |
virtual void setUp() = 0; |
99 |
virtual void setUp() = 0; |
| 100 |
|
100 |
|
| 101 |
bool started_creation, redrawing, m_toolsInitialized; |
101 |
bool started_creation, redrawing, m_toolsInitialized; |
| 102 |
static bool initialised_glew; |
|
|
| 103 |
vigra::Diff2D offset; |
102 |
vigra::Diff2D offset; |
| 104 |
double m_scale = 1.0; |
103 |
double m_scale = 1.0; |
| 105 |
GLPreviewFrame *frame; |
104 |
GLPreviewFrame *frame; |
| 106 |
-- a/src/hugin1/hugin/MeshManager.cpp |
105 |
++ b/src/hugin1/hugin/MeshManager.cpp |
|
Lines 23-37
Link Here
|
| 23 |
#include <wx/wx.h> |
23 |
#include <wx/wx.h> |
| 24 |
#include <wx/platform.h> |
24 |
#include <wx/platform.h> |
| 25 |
|
25 |
|
| 26 |
#include <GL/glew.h> |
26 |
#include <epoxy/gl.h> |
| 27 |
|
27 |
|
| 28 |
#ifdef __WXMAC__ |
|
|
| 29 |
#include <OpenGL/gl.h> |
| 30 |
#else |
| 31 |
#ifdef __WXMSW__ |
28 |
#ifdef __WXMSW__ |
| 32 |
#include <vigra/windows.h> |
29 |
#include <vigra/windows.h> |
| 33 |
#endif |
|
|
| 34 |
#include <GL/gl.h> |
| 35 |
#endif |
30 |
#endif |
| 36 |
|
31 |
|
| 37 |
#include "panoinc.h" |
32 |
#include "panoinc.h" |
| 38 |
-- a/src/hugin1/hugin/OverviewOutlinesTool.cpp |
33 |
++ b/src/hugin1/hugin/OverviewOutlinesTool.cpp |
|
Lines 22-33
Link Here
|
| 22 |
#ifdef _WIN32 |
22 |
#ifdef _WIN32 |
| 23 |
#include "wx/msw/wrapwin.h" |
23 |
#include "wx/msw/wrapwin.h" |
| 24 |
#endif |
24 |
#endif |
| 25 |
#include <GL/glew.h> |
25 |
#include <epoxy/gl.h> |
| 26 |
#ifdef __WXMAC__ |
26 |
#ifdef __WXMAC__ |
| 27 |
#include <OpenGL/gl.h> |
|
|
| 28 |
#include <OpenGL/glu.h> |
27 |
#include <OpenGL/glu.h> |
| 29 |
#else |
28 |
#else |
| 30 |
#include <GL/gl.h> |
|
|
| 31 |
#include <GL/glu.h> |
29 |
#include <GL/glu.h> |
| 32 |
#endif |
30 |
#endif |
| 33 |
#ifdef __APPLE__ |
31 |
#ifdef __APPLE__ |
| 34 |
-- a/src/hugin1/hugin/PanosphereSphereTool.cpp |
32 |
++ b/src/hugin1/hugin/PanosphereSphereTool.cpp |
|
Lines 24-35
Link Here
|
| 24 |
#ifdef _WIN32 |
24 |
#ifdef _WIN32 |
| 25 |
#include "wx/msw/wrapwin.h" |
25 |
#include "wx/msw/wrapwin.h" |
| 26 |
#endif |
26 |
#endif |
| 27 |
#include <GL/glew.h> |
27 |
#include <epoxy/gl.h> |
| 28 |
#ifdef __WXMAC__ |
28 |
#ifdef __WXMAC__ |
| 29 |
#include <OpenGL/gl.h> |
|
|
| 30 |
#include <OpenGL/glu.h> |
29 |
#include <OpenGL/glu.h> |
| 31 |
#else |
30 |
#else |
| 32 |
#include <GL/gl.h> |
|
|
| 33 |
#include <GL/glu.h> |
31 |
#include <GL/glu.h> |
| 34 |
#endif |
32 |
#endif |
| 35 |
#ifdef __APPLE__ |
33 |
#ifdef __APPLE__ |
| 36 |
-- a/src/hugin1/hugin/PreviewDifferenceTool.cpp |
34 |
++ b/src/hugin1/hugin/PreviewDifferenceTool.cpp |
|
Lines 24-36
Link Here
|
| 24 |
#endif |
24 |
#endif |
| 25 |
#include "PreviewDifferenceTool.h" |
25 |
#include "PreviewDifferenceTool.h" |
| 26 |
#include "hugin_config.h" |
26 |
#include "hugin_config.h" |
| 27 |
#include <GL/glew.h> |
27 |
#include <epoxy/gl.h> |
| 28 |
#include <wx/platform.h> |
28 |
#include <wx/platform.h> |
| 29 |
#ifdef __WXMAC__ |
|
|
| 30 |
#include <OpenGL/gl.h> |
| 31 |
#else |
| 32 |
#include <GL/gl.h> |
| 33 |
#endif |
| 34 |
|
29 |
|
| 35 |
// This is the number of times to double the result of the difference. It should |
30 |
// This is the number of times to double the result of the difference. It should |
| 36 |
// be between 0 and 7. Note that with values > 0 no extra colours are used |
31 |
// be between 0 and 7. Note that with values > 0 no extra colours are used |
|
Lines 46-54
Link Here
|
| 46 |
/** call this function only after OpenGL context was created */ |
41 |
/** call this function only after OpenGL context was created */ |
| 47 |
bool PreviewDifferenceTool::CheckOpenGLCanDifference() |
42 |
bool PreviewDifferenceTool::CheckOpenGLCanDifference() |
| 48 |
{ |
43 |
{ |
| 49 |
if(GLEW_ARB_imaging) |
44 |
if(epoxy_has_gl_extension("GL_ARB_imaging")) |
| 50 |
return true; |
45 |
return true; |
| 51 |
if((glBlendEquation!=NULL) && (GLEW_EXT_blend_subtract)) |
46 |
if((glBlendEquation!=NULL) && (epoxy_has_gl_extension("GL_EXT_blend_subtract"))) |
| 52 |
return true; |
47 |
return true; |
| 53 |
return false; |
48 |
return false; |
| 54 |
} |
49 |
} |
| 55 |
-- a/src/hugin1/hugin/PreviewIdentifyTool.cpp |
50 |
++ b/src/hugin1/hugin/PreviewIdentifyTool.cpp |
|
Lines 31-44
Link Here
|
| 31 |
|
31 |
|
| 32 |
#include <wx/platform.h> |
32 |
#include <wx/platform.h> |
| 33 |
|
33 |
|
| 34 |
//multitexture feature requires glew on some systems |
34 |
#include <epoxy/gl.h> |
| 35 |
#include <GL/glew.h> |
|
|
| 36 |
|
| 37 |
#ifdef __WXMAC__ |
35 |
#ifdef __WXMAC__ |
| 38 |
#include <OpenGL/gl.h> |
|
|
| 39 |
#include <OpenGL/glu.h> |
36 |
#include <OpenGL/glu.h> |
| 40 |
#else |
37 |
#else |
| 41 |
#include <GL/gl.h> |
|
|
| 42 |
#include <GL/glu.h> |
38 |
#include <GL/glu.h> |
| 43 |
#endif |
39 |
#endif |