Fixed OGL-ES2 for win32 as well. Not yet properly running with my emulator, though. So setup might still be incomplete here.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@4597 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
8d647c930e
commit
53c6cfdf56
|
@ -66,7 +66,13 @@ namespace irr
|
|||
#endif
|
||||
|
||||
#ifdef _IRR_COMPILE_WITH_OGLES2_
|
||||
IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params, video::SExposedVideoData& data, io::IFileSystem* io);
|
||||
IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params, video::SExposedVideoData& data, io::IFileSystem* io
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, IContextManager* contextManager
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, CIrrDeviceIPhone* device
|
||||
#endif
|
||||
);
|
||||
#endif
|
||||
}
|
||||
} // end namespace irr
|
||||
|
@ -1158,8 +1164,6 @@ void CIrrDeviceWin32::createDriver()
|
|||
data.OpenGLWin32.HWnd=HWnd;
|
||||
|
||||
ContextManager = new video::CEGLManager(CreationParams,&data);
|
||||
ContextManager->initialize();
|
||||
ContextManager->createSurface();
|
||||
switchToFullScreen();
|
||||
|
||||
VideoDriver = video::createOGLES1Driver(CreationParams, data, FileSystem, ContextManager);
|
||||
|
@ -1179,9 +1183,10 @@ void CIrrDeviceWin32::createDriver()
|
|||
video::SExposedVideoData data;
|
||||
data.OpenGLWin32.HWnd=HWnd;
|
||||
|
||||
ContextManager = new video::CEGLManager(CreationParams,&data);
|
||||
switchToFullScreen();
|
||||
|
||||
VideoDriver = video::createOGLES2Driver(CreationParams, data, FileSystem);
|
||||
VideoDriver = video::createOGLES2Driver(CreationParams, data, FileSystem, ContextManager);
|
||||
if (!VideoDriver)
|
||||
{
|
||||
os::Printer::log("Could not create OpenGL-ES2 driver.", ELL_ERROR);
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace video
|
|||
COGLES2Driver::COGLES2Driver(const SIrrlichtCreationParameters& params,
|
||||
const SExposedVideoData& data, io::IFileSystem* io
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, CEGLManager* eglManager
|
||||
, IContextManager* contextManager
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, CIrrDeviceIPhone* device
|
||||
#endif
|
||||
|
@ -48,7 +48,7 @@ COGLES2Driver::COGLES2Driver(const SIrrlichtCreationParameters& params,
|
|||
Transformation3DChanged(true), AntiAlias(params.AntiAlias), BridgeCalls(0),
|
||||
RenderTargetTexture(0), CurrentRendertargetSize(0, 0), ColorFormat(ECF_R8G8B8)
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, EGLManager(eglManager)
|
||||
, ContextManager(contextManager)
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, Device(device), ViewFramebuffer(0),
|
||||
ViewRenderbuffer(0), ViewDepthRenderbuffer(0)
|
||||
|
@ -62,7 +62,13 @@ COGLES2Driver::COGLES2Driver(const SIrrlichtCreationParameters& params,
|
|||
core::dimension2d<u32> WindowSize(0, 0);
|
||||
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
EGLManager->createContext();
|
||||
if (!ContextManager)
|
||||
return;
|
||||
|
||||
ContextManager->grab();
|
||||
ContextManager->initialize();
|
||||
ContextManager->createSurface();
|
||||
ContextManager->createContext();
|
||||
|
||||
WindowSize = params.WindowSize;
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
|
@ -110,7 +116,11 @@ COGLES2Driver::~COGLES2Driver()
|
|||
delete BridgeCalls;
|
||||
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
EGLManager->destroyContext();
|
||||
if (ContextManager)
|
||||
{
|
||||
ContextManager->destroyContext();
|
||||
ContextManager->drop();
|
||||
}
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
if (0 != ViewFramebuffer)
|
||||
{
|
||||
|
@ -426,7 +436,8 @@ bool COGLES2Driver::endScene()
|
|||
CNullDriver::endScene();
|
||||
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
EGLManager->swapBuffers();
|
||||
if (ContextManager)
|
||||
ContextManager->swapBuffers();
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
glFlush();
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, ViewRenderbuffer);
|
||||
|
@ -2857,13 +2868,13 @@ namespace video
|
|||
{
|
||||
|
||||
#ifndef _IRR_COMPILE_WITH_OGLES2_
|
||||
class CEGLManager;
|
||||
class IContextManager;
|
||||
#endif
|
||||
|
||||
IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params,
|
||||
video::SExposedVideoData& data, io::IFileSystem* io
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, CEGLManager* eglManager
|
||||
, IContextManager* contextManager
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, CIrrDeviceIPhone* device
|
||||
#endif
|
||||
|
@ -2872,7 +2883,7 @@ IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params,
|
|||
#ifdef _IRR_COMPILE_WITH_OGLES2_
|
||||
return new COGLES2Driver(params, data, io
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, eglManager
|
||||
, contextManager
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, device
|
||||
#endif
|
||||
|
|
|
@ -65,7 +65,7 @@ namespace video
|
|||
COGLES2Driver(const SIrrlichtCreationParameters& params,
|
||||
const SExposedVideoData& data, io::IFileSystem* io
|
||||
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
, CEGLManager* eglManager
|
||||
, IContextManager* contextManager
|
||||
#elif defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
|
||||
, CIrrDeviceIPhone* device
|
||||
#endif
|
||||
|
@ -459,7 +459,7 @@ namespace video
|
|||
GLuint ViewRenderbuffer;
|
||||
GLuint ViewDepthRenderbuffer;
|
||||
#elif defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
|
||||
CEGLManager* EGLManager;
|
||||
IContextManager* ContextManager;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -534,4 +534,3 @@ namespace video
|
|||
#endif // _IRR_COMPILE_WITH_OPENGL_
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@ COGLES1Driver::COGLES1Driver(const SIrrlichtCreationParameters& params,
|
|||
return;
|
||||
|
||||
ContextManager->grab();
|
||||
ContextManager->initialize();
|
||||
ContextManager->createSurface();
|
||||
ContextManager->createContext();
|
||||
|
||||
WindowSize = params.WindowSize;
|
||||
|
@ -3029,7 +3031,7 @@ namespace video
|
|||
|
||||
#ifndef _IRR_COMPILE_WITH_OGLES1_
|
||||
class IVideoDriver;
|
||||
class CEGLManager;
|
||||
class IContextManager;
|
||||
#endif
|
||||
|
||||
IVideoDriver* createOGLES1Driver(const SIrrlichtCreationParameters& params,
|
||||
|
|
|
@ -335,7 +335,7 @@
|
|||
</ProjectReference>
|
||||
<Link>
|
||||
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;libEGL.lib;libgles_cm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;libEGL.lib;libglesv2.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\..\bin\Win32-visualstudio\Irrlicht.dll</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreSpecificDefaultLibraries>libci.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
|
|
Loading…
Reference in New Issue