View | Details | Raw Unified | Return to bug 45876
Collapse All | Expand All

(-)file_not_specified_in_diff (-95 / +56 lines)
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

Return to bug 45876