From 8d084e8c8f48dd2f07d4a3fbd4a941a7bcc0dcfb Mon Sep 17 00:00:00 2001 From: Jason Wilkins Date: Tue, 7 Oct 2014 15:46:19 -0500 Subject: Ghost Context Refactor https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately. --- .../BlenderRoutines/BL_KetsjiEmbedStart.cpp | 5 +++-- source/gameengine/BlenderRoutines/CMakeLists.txt | 3 ++- .../BlenderRoutines/KX_BlenderCanvas.cpp | 6 +++--- .../gameengine/BlenderRoutines/KX_BlenderCanvas.h | 3 ++- source/gameengine/BlenderRoutines/SConscript | 7 +++---- source/gameengine/GamePlayer/common/CMakeLists.txt | 3 ++- source/gameengine/GamePlayer/common/GPC_Canvas.h | 2 +- source/gameengine/GamePlayer/common/SConscript | 7 +++---- source/gameengine/GamePlayer/ghost/CMakeLists.txt | 3 ++- .../GamePlayer/ghost/GPG_Application.cpp | 7 ++++--- source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp | 6 +++--- source/gameengine/GamePlayer/ghost/GPG_Canvas.h | 2 +- source/gameengine/GamePlayer/ghost/GPG_ghost.cpp | 23 +++++++--------------- source/gameengine/GamePlayer/ghost/SConscript | 7 +++---- source/gameengine/Ketsji/BL_Shader.cpp | 2 +- source/gameengine/Ketsji/BL_Texture.cpp | 2 +- source/gameengine/Ketsji/CMakeLists.txt | 3 ++- source/gameengine/Ketsji/KX_BlenderMaterial.cpp | 2 +- source/gameengine/Ketsji/KX_Camera.cpp | 2 +- source/gameengine/Ketsji/KX_Dome.cpp | 2 +- source/gameengine/Ketsji/KX_Dome.h | 2 +- source/gameengine/Ketsji/KX_PythonInit.cpp | 6 ++++-- source/gameengine/Ketsji/SConscript | 5 +++-- source/gameengine/Physics/Bullet/CMakeLists.txt | 3 +++ source/gameengine/Physics/Bullet/SConscript | 5 +++-- source/gameengine/Rasterizer/CMakeLists.txt | 3 ++- .../gameengine/Rasterizer/RAS_2DFilterManager.cpp | 2 +- source/gameengine/Rasterizer/RAS_ICanvas.h | 3 ++- .../Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt | 3 ++- .../RAS_GLExtensionManager.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp | 3 ++- .../RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_StorageIM.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_StorageVA.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_StorageVBO.cpp | 2 +- .../RAS_OpenGLRasterizer/RAS_StorageVBO.h | 2 +- .../Rasterizer/RAS_OpenGLRasterizer/SConscript | 5 +++-- source/gameengine/Rasterizer/SConscript | 6 ++++-- source/gameengine/VideoTexture/CMakeLists.txt | 3 ++- source/gameengine/VideoTexture/ImageBase.cpp | 2 +- source/gameengine/VideoTexture/ImageRender.cpp | 2 +- source/gameengine/VideoTexture/ImageViewport.cpp | 2 +- source/gameengine/VideoTexture/SConscript | 6 ++++-- source/gameengine/VideoTexture/Texture.cpp | 2 +- 45 files changed, 93 insertions(+), 81 deletions(-) (limited to 'source/gameengine') diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index c652532895f..2a7e631637e 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -40,7 +40,7 @@ # pragma warning (disable:4786) #endif -#include "GL/glew.h" +#include "glew-mx.h" #include "KX_BlenderCanvas.h" #include "KX_BlenderKeyboardDevice.h" @@ -299,7 +299,8 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE); // Setup vsync - int previous_vsync = canvas->GetSwapInterval(); + int previous_vsync = 0; + canvas->GetSwapInterval(previous_vsync); if (startscene->gm.vsync == VSYNC_ADAPTIVE) canvas->SetSwapInterval(-1); else diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt index 73dbe005518..1a2809cc8ab 100644 --- a/source/gameengine/BlenderRoutines/CMakeLists.txt +++ b/source/gameengine/BlenderRoutines/CMakeLists.txt @@ -24,6 +24,7 @@ set(INC ../../blender/makesrna ../../blender/windowmanager ../../../intern/container + ../../../intern/glew-mx ../../../intern/guardedalloc ../../../intern/string ) @@ -52,7 +53,7 @@ set(SRC KX_BlenderSystem.h ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) if(WITH_AUDASPACE) list(APPEND INC diff --git a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp index b3e0b4c3ea6..31f3b1b2047 100644 --- a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp +++ b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.cpp @@ -29,7 +29,7 @@ * \ingroup blroutines */ -#include +#include "glew-mx.h" #include "MEM_guardedalloc.h" @@ -91,9 +91,9 @@ void KX_BlenderCanvas::SetSwapInterval(int interval) wm_window_set_swap_interval(m_win, interval); } -int KX_BlenderCanvas::GetSwapInterval() +bool KX_BlenderCanvas::GetSwapInterval(int &intervalOut) { - return wm_window_get_swap_interval(m_win); + return wm_window_get_swap_interval(m_win, &intervalOut); } void KX_BlenderCanvas::ResizeWindow(int width, int height) diff --git a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h index 9ad80cb1737..917e0136cb1 100644 --- a/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h +++ b/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h @@ -82,8 +82,9 @@ public: int interval ); - int + bool GetSwapInterval( + int &intervalOut ); void diff --git a/source/gameengine/BlenderRoutines/SConscript b/source/gameengine/BlenderRoutines/SConscript index 62d657189c5..def0bc32697 100644 --- a/source/gameengine/BlenderRoutines/SConscript +++ b/source/gameengine/BlenderRoutines/SConscript @@ -29,9 +29,7 @@ Import ('env') sources = env.Glob('*.cpp') -defs = [ - 'GLEW_STATIC', - ] +defs = env['BF_GL_DEFINITIONS'] incs = [ '.', @@ -39,7 +37,8 @@ incs = [ '#intern/guardedalloc', '#intern/string', '#source/blender', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#intern/audaspace/intern', '#intern/ghost/include', '#intern/moto/include', diff --git a/source/gameengine/GamePlayer/common/CMakeLists.txt b/source/gameengine/GamePlayer/common/CMakeLists.txt index fd73b4efb53..e6c980de566 100644 --- a/source/gameengine/GamePlayer/common/CMakeLists.txt +++ b/source/gameengine/GamePlayer/common/CMakeLists.txt @@ -47,6 +47,7 @@ set(INC ../../../blender/makesdna ../../../../intern/container ../../../../intern/ghost + ../../../../intern/glew-mx ../../../../intern/guardedalloc ../../../../intern/string ) @@ -69,6 +70,6 @@ set(SRC GPC_MouseDevice.h ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) blender_add_lib_nolist(ge_player_common "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/GamePlayer/common/GPC_Canvas.h b/source/gameengine/GamePlayer/common/GPC_Canvas.h index bd50066a212..338f9647b3e 100644 --- a/source/gameengine/GamePlayer/common/GPC_Canvas.h +++ b/source/gameengine/GamePlayer/common/GPC_Canvas.h @@ -40,7 +40,7 @@ # include #endif /* WIN32 */ -#include "GL/glew.h" +#include "glew-mx.h" #include diff --git a/source/gameengine/GamePlayer/common/SConscript b/source/gameengine/GamePlayer/common/SConscript index e30c2eb5859..b8fb9cbd2e2 100644 --- a/source/gameengine/GamePlayer/common/SConscript +++ b/source/gameengine/GamePlayer/common/SConscript @@ -64,12 +64,11 @@ incs = [ '#source/blender/misc', '#source/blender/blenloader', '#source/blender/gpu', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', ] -defs = [ - 'GLEW_STATIC', - ] +defs = env['BF_GL_DEFINITIONS'] if env['WITH_BF_PYTHON']: incs.extend(Split(env['BF_PYTHON_INC'])) diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt index df752799c2c..8ab090eac02 100644 --- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt +++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt @@ -48,6 +48,7 @@ set(INC ../../../blender/makesrna ../../../../intern/container ../../../../intern/ghost + ../../../../intern/glew-mx ../../../../intern/guardedalloc ../../../../intern/string ../../../../intern/memutil @@ -73,7 +74,7 @@ set(SRC GPG_System.h ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) if(WITH_CODEC_FFMPEG) add_definitions(-DWITH_FFMPEG) diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp index b85d4b40ca8..d7a63c28da3 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp @@ -36,8 +36,9 @@ # include #endif -#include "GL/glew.h" +#include "glew-mx.h" #include "GPU_extensions.h" +#include "GPU_init_exit.h" #include "GPG_Application.h" #include "BL_BlenderDataConversion.h" @@ -545,7 +546,7 @@ bool GPG_Application::initEngine(GHOST_IWindow* window, const int stereoMode) { if (!m_engineInitialized) { - GPU_extensions_init(); + GPU_init(); bgl::InitExtensions(true); // get and set the preferences @@ -867,7 +868,7 @@ void GPG_Application::exitEngine() m_canvas = 0; } - GPU_extensions_exit(); + GPU_exit(); #ifdef WITH_PYTHON // Call this after we're sure nothing needs Python anymore (e.g., destructors) diff --git a/source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp b/source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp index 35c7c62a67d..556f85804ea 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp @@ -113,12 +113,12 @@ void GPG_Canvas::SetSwapInterval(int interval) m_window->setSwapInterval(interval); } -int GPG_Canvas::GetSwapInterval() +bool GPG_Canvas::GetSwapInterval(int& intervalOut) { if (m_window) - return m_window->getSwapInterval(); + return (bool)m_window->getSwapInterval(intervalOut); - return 0; + return false; } void GPG_Canvas::ResizeWindow(int width, int height) diff --git a/source/gameengine/GamePlayer/ghost/GPG_Canvas.h b/source/gameengine/GamePlayer/ghost/GPG_Canvas.h index 6e1f86cac0e..337c2cedf55 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_Canvas.h +++ b/source/gameengine/GamePlayer/ghost/GPG_Canvas.h @@ -56,7 +56,7 @@ public: virtual void SetMouseState(RAS_MouseState mousestate); virtual void SwapBuffers(); virtual void SetSwapInterval(int interval); - virtual int GetSwapInterval(); + virtual bool GetSwapInterval(int& intervalOut); virtual int GetMouseX(int x) { return x; } virtual int GetMouseY(int y) { return y; } diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp index b6456b105c8..3bb5f17841d 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp @@ -79,8 +79,6 @@ extern "C" #include "IMB_imbuf.h" #include "IMB_moviecache.h" - int GHOST_HACK_getFirstFile(char buf[]); - // For BLF #include "BLF_api.h" #include "BLF_translation.h" @@ -294,12 +292,6 @@ static void get_filename(int argc, char **argv, char *filename) if (BLI_exists(argv[argc-1])) { BLI_strncpy(filename, argv[argc-1], FILE_MAX); } - if (::strncmp(argv[argc-1], "-psn_", 5)==0) { - static char firstfilebuf[512]; - if (GHOST_HACK_getFirstFile(firstfilebuf)) { - BLI_strncpy(filename, firstfilebuf, FILE_MAX); - } - } } srclen -= ::strlen("MacOS/blenderplayer"); @@ -811,14 +803,6 @@ int main(int argc, char** argv) if (scr_saver_mode != SCREEN_SAVER_MODE_CONFIGURATION) #endif { - - if (SYS_GetCommandLineInt(syshandle, "nomipmap", 0)) { - GPU_set_mipmap(0); - } - - GPU_set_anisotropic(U.anisotropic_filter); - GPU_set_gpu_mipmapping(U.use_gpu_mipmap); - // Create the system if (GHOST_ISystem::createSystem() == GHOST_kSuccess) { GHOST_ISystem* system = GHOST_ISystem::getSystem(); @@ -1041,6 +1025,13 @@ int main(int argc, char** argv) else app.startWindow(title, windowLeft, windowTop, windowWidth, windowHeight, stereoWindow, stereomode, aasamples); + + if (SYS_GetCommandLineInt(syshandle, "nomipmap", 0)) { + GPU_set_mipmap(0); + } + + GPU_set_anisotropic(U.anisotropic_filter); + GPU_set_gpu_mipmapping(U.use_gpu_mipmap); } } } diff --git a/source/gameengine/GamePlayer/ghost/SConscript b/source/gameengine/GamePlayer/ghost/SConscript index 3e8ab3d0dd7..d4c31889a5e 100644 --- a/source/gameengine/GamePlayer/ghost/SConscript +++ b/source/gameengine/GamePlayer/ghost/SConscript @@ -68,15 +68,14 @@ incs = [ '#source/blender/misc', '#source/blender/blenloader', '#source/blender/gpu', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', ] incs.append(env['BF_PTHREADS_INC']) incs.append(env['BF_BOOST_INC']) -defs = [ - 'GLEW_STATIC', - ] +defs = env['BF_GL_DEFINITIONS'] if env['WITH_BF_PYTHON']: incs += Split(env['BF_PYTHON_INC']) diff --git a/source/gameengine/Ketsji/BL_Shader.cpp b/source/gameengine/Ketsji/BL_Shader.cpp index 872ac19351d..a59c3686a18 100644 --- a/source/gameengine/Ketsji/BL_Shader.cpp +++ b/source/gameengine/Ketsji/BL_Shader.cpp @@ -22,7 +22,7 @@ * \ingroup ketsji */ -#include "GL/glew.h" +#include "glew-mx.h" #include #include "BL_Shader.h" diff --git a/source/gameengine/Ketsji/BL_Texture.cpp b/source/gameengine/Ketsji/BL_Texture.cpp index 1578c745b9f..1a78efb3c18 100644 --- a/source/gameengine/Ketsji/BL_Texture.cpp +++ b/source/gameengine/Ketsji/BL_Texture.cpp @@ -22,7 +22,7 @@ * \ingroup ketsji */ -#include "GL/glew.h" +#include "glew-mx.h" #include #include diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt index 03d1524b310..44532e5d737 100644 --- a/source/gameengine/Ketsji/CMakeLists.txt +++ b/source/gameengine/Ketsji/CMakeLists.txt @@ -49,6 +49,7 @@ set(INC ../../blender/python/generic ../../blender/python/mathutils ../../../intern/container + ../../../intern/glew-mx ../../../intern/guardedalloc ../../../intern/string ) @@ -229,7 +230,7 @@ set(SRC ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) if(WITH_IMAGE_DDS) add_definitions(-DWITH_DDS) diff --git a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp index 9ebdfea6156..9f0b582045f 100644 --- a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp +++ b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp @@ -22,7 +22,7 @@ * \ingroup ketsji */ -#include "GL/glew.h" +#include "glew-mx.h" #include "KX_BlenderMaterial.h" #include "BL_Material.h" diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp index 4ab768e4240..e0761154ed2 100644 --- a/source/gameengine/Ketsji/KX_Camera.cpp +++ b/source/gameengine/Ketsji/KX_Camera.cpp @@ -31,7 +31,7 @@ */ -#include "GL/glew.h" +#include "glew-mx.h" #include "KX_Camera.h" #include "KX_Scene.h" #include "KX_PythonInit.h" diff --git a/source/gameengine/Ketsji/KX_Dome.cpp b/source/gameengine/Ketsji/KX_Dome.cpp index c7f7f586865..a77269c116d 100644 --- a/source/gameengine/Ketsji/KX_Dome.cpp +++ b/source/gameengine/Ketsji/KX_Dome.cpp @@ -41,7 +41,7 @@ #include "RAS_CameraData.h" #include "BLI_math.h" -#include "GL/glew.h" +#include "glew-mx.h" // constructor KX_Dome::KX_Dome ( diff --git a/source/gameengine/Ketsji/KX_Dome.h b/source/gameengine/Ketsji/KX_Dome.h index a7e798a3944..420565e62f6 100644 --- a/source/gameengine/Ketsji/KX_Dome.h +++ b/source/gameengine/Ketsji/KX_Dome.h @@ -38,7 +38,7 @@ #include "RAS_IRasterizer.h" #include "KX_KetsjiEngine.h" -#include "GL/glew.h" +#include "glew-mx.h" #include #include "MEM_guardedalloc.h" diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp index da8a0c0844e..fefc64b4bad 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -30,7 +30,7 @@ * \ingroup ketsji */ -#include "GL/glew.h" +#include "glew-mx.h" #ifdef _MSC_VER # pragma warning (disable:4786) @@ -1396,7 +1396,9 @@ static PyObject *gPySetVsync(PyObject *, PyObject *args) static PyObject *gPyGetVsync(PyObject *) { - return PyLong_FromLong(gp_Canvas->GetSwapInterval()); + int interval = 0; + gp_Canvas->GetSwapInterval(interval); + return PyLong_FromLong(interval); } static PyObject *gPyShowFramerate(PyObject *, PyObject *args) diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript index db5474cf2d7..8074a4064ff 100644 --- a/source/gameengine/Ketsji/SConscript +++ b/source/gameengine/Ketsji/SConscript @@ -30,7 +30,7 @@ import sys Import ('env') sources = env.Glob('*.cpp') -defs = [ 'GLEW_STATIC' ] +defs = env['BF_GL_DEFINITIONS'] incs = [ '.', @@ -38,7 +38,8 @@ incs = [ '#intern/guardedalloc', '#intern/string', '#source/blender', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#intern/audaspace/FX', '#intern/audaspace/intern', '#intern/moto/include', diff --git a/source/gameengine/Physics/Bullet/CMakeLists.txt b/source/gameengine/Physics/Bullet/CMakeLists.txt index fbaa7bb59ba..e52dc1ba052 100644 --- a/source/gameengine/Physics/Bullet/CMakeLists.txt +++ b/source/gameengine/Physics/Bullet/CMakeLists.txt @@ -40,6 +40,7 @@ set(INC ../../../blender/makesdna ../../../../intern/container ../../../../intern/guardedalloc + ../../../../intern/glew-mx ../../../../intern/string ) @@ -66,4 +67,6 @@ if(WITH_BULLET) add_definitions(-DWITH_BULLET) endif() +add_definitions(${GL_DEFINITIONS}) + blender_add_lib(ge_phys_bullet "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Physics/Bullet/SConscript b/source/gameengine/Physics/Bullet/SConscript index 2a8249b9558..30287553a10 100644 --- a/source/gameengine/Physics/Bullet/SConscript +++ b/source/gameengine/Physics/Bullet/SConscript @@ -34,7 +34,8 @@ incs = [ '#intern/container', '#intern/guardedalloc', '#intern/string', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#intern/moto/include', '#source/blender/blenkernel', '#source/blender/blenlib', @@ -51,7 +52,7 @@ incs = ' '.join(incs) incs += ' ' + env['BF_BULLET_INC'] -defs = [] +defs = env['BF_GL_DEFINITIONS'] if env['WITH_BF_PYTHON']: incs += ' ' + env['BF_PYTHON_INC'] diff --git a/source/gameengine/Rasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/CMakeLists.txt index e254bf9b1c5..5bc3f22e327 100644 --- a/source/gameengine/Rasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/CMakeLists.txt @@ -32,6 +32,7 @@ set(INC ../../blender/blenlib ../../blender/blenkernel ../../../intern/container + ../../../intern/glew-mx ../../../intern/guardedalloc ../../../intern/string ) @@ -81,6 +82,6 @@ set(SRC RAS_OpenGLFilters/RAS_Sobel2DFilter.h ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) blender_add_lib(ge_rasterizer "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp index abbe65738d4..908c5979249 100644 --- a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp +++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp @@ -43,7 +43,7 @@ #include "RAS_2DFilterManager.h" #include -#include "GL/glew.h" +#include "glew-mx.h" #include diff --git a/source/gameengine/Rasterizer/RAS_ICanvas.h b/source/gameengine/Rasterizer/RAS_ICanvas.h index 9e8a6e8ccf6..d90cbea286e 100644 --- a/source/gameengine/Rasterizer/RAS_ICanvas.h +++ b/source/gameengine/Rasterizer/RAS_ICanvas.h @@ -113,8 +113,9 @@ public: )=0; virtual - int + bool GetSwapInterval( + int& intervalOut )=0; virtual diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt index f0410ba891d..888a7114f50 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt @@ -39,6 +39,7 @@ set(INC ../../../blender/gpu ../../../blender/makesdna ../../../../intern/container + ../../../../intern/glew-mx ../../../../intern/string ) @@ -66,6 +67,6 @@ set(SRC RAS_StorageVBO.h ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) blender_add_lib(ge_oglrasterizer "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp index 32cc4ba9fea..bc22d68e218 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp @@ -32,7 +32,7 @@ #include -#include "GL/glew.h" +#include "glew-mx.h" #include "RAS_GLExtensionManager.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp index e1dbd6f0a7f..b3da5e1f812 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp @@ -30,7 +30,7 @@ #include #endif // WIN32 -#include "GL/glew.h" +#include "glew-mx.h" #include "RAS_MaterialBucket.h" #include "RAS_TexVert.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp index e1b7a2151c5..4ac1c9c4ebb 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp @@ -25,9 +25,10 @@ * ***** END GPL LICENSE BLOCK ***** */ +#include "glew-mx.h" + #include -#include "GL/glew.h" #include "RAS_OpenGLLight.h" #include "RAS_OpenGLRasterizer.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 0960fdaab4f..415ea87fb1b 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -35,7 +35,7 @@ #include "RAS_OpenGLRasterizer.h" -#include "GL/glew.h" +#include "glew-mx.h" #include "RAS_ICanvas.h" #include "RAS_Rect.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp index c8975c245cb..e0613350b77 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp @@ -29,7 +29,7 @@ #include "RAS_MaterialBucket.h" #include "RAS_IPolygonMaterial.h" -#include "GL/glew.h" +#include "glew-mx.h" #include "GPU_draw.h" #include "GPU_extensions.h" #include "GPU_material.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp index 006c07b0491..c2980a6c15f 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp @@ -27,7 +27,7 @@ #include "RAS_StorageVA.h" -#include "GL/glew.h" +#include "glew-mx.h" RAS_StorageVA::RAS_StorageVA(int *texco_num, RAS_IRasterizer::TexCoGen *texco, int *attrib_num, RAS_IRasterizer::TexCoGen *attrib, int *attrib_layer) : m_drawingmode(RAS_IRasterizer::KX_TEXTURED), diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp index 6aa90fbd6ef..58f3d4c05da 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp @@ -28,7 +28,7 @@ #include "RAS_StorageVBO.h" #include "RAS_MeshObject.h" -#include "GL/glew.h" +#include "glew-mx.h" VBO::VBO(RAS_DisplayArray *data, unsigned int indices) { diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h index 2fe0c32f399..f156722247c 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.h @@ -29,7 +29,7 @@ #define __KX_VERTEXBUFFEROBJECTSTORAGE #include -#include "GL/glew.h" +#include "glew-mx.h" #include "RAS_IStorage.h" #include "RAS_IRasterizer.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript index 0a7417656c6..93905f733dc 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript @@ -3,14 +3,15 @@ Import ('env') sources = env.Glob('*.cpp') -defs = [ 'GLEW_STATIC' ] +defs = env['BF_GL_DEFINITIONS'] incs = [ '.', '#intern/container', '#intern/guardedalloc', '#intern/string', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#intern/moto/include', '#source/blender/blenkernel', '#source/blender/blenfont', diff --git a/source/gameengine/Rasterizer/SConscript b/source/gameengine/Rasterizer/SConscript index 5c68ce63a3b..c0d725ad957 100644 --- a/source/gameengine/Rasterizer/SConscript +++ b/source/gameengine/Rasterizer/SConscript @@ -36,15 +36,17 @@ incs = [ '#intern/moto/include', '#intern/container', '#source/gameengine/BlenderRoutines', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#source/gameengine/Expressions', '#source/gameengine/SceneGraph', '#source/blender/blenlib', '#source/blender/blenkernel', + '#source/blender/gpu', '#source/blender/makesdna', ] -defs = ['GLEW_STATIC'] +defs = env['BF_GL_DEFINITIONS'] if env['WITH_BF_PYTHON']: incs.extend(Split(env['BF_PYTHON_INC'])) diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt index 3ca3917cf6d..4be9a9abe5c 100644 --- a/source/gameengine/VideoTexture/CMakeLists.txt +++ b/source/gameengine/VideoTexture/CMakeLists.txt @@ -42,6 +42,7 @@ set(INC ../../blender/python/generic ../../../intern/container ../../../intern/ffmpeg + ../../../intern/glew-mx ../../../intern/guardedalloc ../../../intern/string ) @@ -51,7 +52,7 @@ set(INC_SYS ${GLEW_INCLUDE_PATH} ) -add_definitions(-DGLEW_STATIC) +add_definitions(${GL_DEFINITIONS}) set(SRC Exception.cpp diff --git a/source/gameengine/VideoTexture/ImageBase.cpp b/source/gameengine/VideoTexture/ImageBase.cpp index 4109981a98c..0d46160a11e 100644 --- a/source/gameengine/VideoTexture/ImageBase.cpp +++ b/source/gameengine/VideoTexture/ImageBase.cpp @@ -32,7 +32,7 @@ extern "C" { #include "bgl.h" } -#include "GL/glew.h" +#include "glew-mx.h" #include #include diff --git a/source/gameengine/VideoTexture/ImageRender.cpp b/source/gameengine/VideoTexture/ImageRender.cpp index 8c6dcf45d6f..617e7fd1d8e 100644 --- a/source/gameengine/VideoTexture/ImageRender.cpp +++ b/source/gameengine/VideoTexture/ImageRender.cpp @@ -36,7 +36,7 @@ #include -#include "GL/glew.h" +#include "glew-mx.h" #include "KX_PythonInit.h" #include "DNA_scene_types.h" diff --git a/source/gameengine/VideoTexture/ImageViewport.cpp b/source/gameengine/VideoTexture/ImageViewport.cpp index 789b6006f99..421f0df814b 100644 --- a/source/gameengine/VideoTexture/ImageViewport.cpp +++ b/source/gameengine/VideoTexture/ImageViewport.cpp @@ -33,7 +33,7 @@ #include "PyObjectPlus.h" #include -#include "GL/glew.h" +#include "glew-mx.h" #include "KX_PythonInit.h" #include "RAS_ICanvas.h" diff --git a/source/gameengine/VideoTexture/SConscript b/source/gameengine/VideoTexture/SConscript index f7bf6bd93c1..b1b02db3ebc 100644 --- a/source/gameengine/VideoTexture/SConscript +++ b/source/gameengine/VideoTexture/SConscript @@ -37,7 +37,8 @@ incs = [ '#intern/ffmpeg', '#intern/guardedalloc', '#intern/string', - '#extern/glew/include', + env['BF_GLEW_INC'], + '#/intern/glew-mx', '#intern/moto/include', '#source/blender/blenkernel', '#source/blender/blenlib', @@ -57,7 +58,8 @@ incs = [ ] incs = ' '.join(incs) -defs = ['GLEW_STATIC'] +defs = env['BF_GL_DEFINITIONS'] + if env['OURPLATFORM'] in ('win32-vc', 'win64-vc','win32-mingw', 'win64-mingw'): if env['BF_DEBUG']: defs.append('_DEBUG') diff --git a/source/gameengine/VideoTexture/Texture.cpp b/source/gameengine/VideoTexture/Texture.cpp index 35a73193a24..74f36207774 100644 --- a/source/gameengine/VideoTexture/Texture.cpp +++ b/source/gameengine/VideoTexture/Texture.cpp @@ -54,7 +54,7 @@ #include "Exception.h" #include -#include "GL/glew.h" +#include "glew-mx.h" // macro for exception handling and logging -- cgit v1.2.3