- Merged rev 5199-5200 from trunk.

Following features are still unavailable in ogl-es branch since rev 5181:
* OpenGL ES1
* Support for iOS
* Support for OSX
(If you need one of those features please use rev 5180)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5201 dfc29bdd-3216-0410-991c-e03cc46cb475
master
nadro 2015-11-29 22:45:24 +00:00
parent 58cba0b3c6
commit 179c3d6cb0
21 changed files with 290 additions and 421 deletions

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013 Patryk Nadrowski
// Copyright (C) 2013-2015 Patryk Nadrowski
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h

View File

@ -119,6 +119,9 @@ namespace irr
by the gfx adapter. */
virtual video::IVideoModeList* getVideoModeList() = 0;
//! Get context manager
virtual video::IContextManager* getContextManager() = 0;
//! Provides access to the operation system operator object.
/** The OS operator provides methods for
getting system specific informations and doing system
@ -301,9 +304,6 @@ namespace irr
virtual bool getGammaRamp(f32 &red, f32 &green, f32 &blue,
f32 &brightness, f32 &contrast) =0;
//! Get context manager
virtual video::IContextManager* getContextManager() =0;
//! Set the maximal elapsed time between 2 clicks to generate doubleclicks for the mouse. It also affects tripleclick behavior.
/** When set to 0 no double- and tripleclicks will be generated.
\param timeMs maximal time in milliseconds for two consecutive clicks to be recognized as double click

View File

@ -23,11 +23,17 @@
#include "SIrrCreationParameters.h"
#include "SExposedVideoData.h"
#include "IGUISpriteBank.h"
#include "CEGLManager.h"
#include "CGLXManager.h"
#include <X11/XKBlib.h>
#include <X11/Xatom.h>
#if defined(_IRR_COMPILE_WITH_OGLES1_) || defined(_IRR_COMPILE_WITH_OGLES2_)
#include "CEGLManager.h"
#endif
#if defined(_IRR_COMPILE_WITH_OPENGL_)
#include "CGLXManager.h"
#endif
#ifdef _IRR_LINUX_XCURSOR_
#include <X11/Xcursor/Xcursor.h>
#endif
@ -56,30 +62,17 @@ namespace irr
{
namespace video
{
#ifdef _IRR_COMPILE_WITH_OPENGL_
IVideoDriver* createOpenGLDriver(const irr::SIrrlichtCreationParameters& params,
io::IFileSystem* io, IContextManager* contextManager);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES1_
IVideoDriver* createOGLES1Driver(const SIrrlichtCreationParameters& params, 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
#ifdef _IRR_COMPILE_WITH_OPENGL_
IVideoDriver* createOpenGLDriver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES2_
IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params, 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
#ifdef _IRR_COMPILE_WITH_OGLES1_
IVideoDriver* createOGLES1Driver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES2_
IVideoDriver* createOGLES2Driver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
);
#endif
}
} // end namespace irr
@ -410,15 +403,17 @@ bool CIrrDeviceLinux::createWindow()
switchToFullscreen();
#if defined(_IRR_COMPILE_WITH_OPENGL_)
// don't use the XVisual with OpenGL, because it ignores all requested
// properties of the CreationParams
if (CreationParams.DriverType==video::EDT_OPENGL)
if (CreationParams.DriverType == video::EDT_OPENGL)
{
video::SExposedVideoData data;
data.OpenGLLinux.X11Display = XDisplay;
ContextManager = new video::CGLXManager(CreationParams,data, Screennr);
ContextManager = new video::CGLXManager(CreationParams, data, Screennr);
VisualInfo = ((video::CGLXManager*)ContextManager)->getVisual();
}
#endif
if (!VisualInfo)
{
@ -576,77 +571,75 @@ void CIrrDeviceLinux::createDriver()
switch(CreationParams.DriverType)
{
#ifdef _IRR_COMPILE_WITH_X11_
case video::EDT_SOFTWARE:
#ifdef _IRR_COMPILE_WITH_SOFTWARE_
#ifdef _IRR_COMPILE_WITH_SOFTWARE_
VideoDriver = video::createSoftwareDriver(CreationParams.WindowSize, CreationParams.Fullscreen, FileSystem, this);
#else
#else
os::Printer::log("No Software driver support compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_BURNINGSVIDEO:
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
VideoDriver = video::createBurningVideoDriver(CreationParams, FileSystem, this);
#else
#else
os::Printer::log("Burning's video driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_OPENGL:
#ifdef _IRR_COMPILE_WITH_OPENGL_
#ifdef _IRR_COMPILE_WITH_OPENGL_
{
video::SExposedVideoData data;
data.OpenGLLinux.X11Window = XWindow;
data.OpenGLLinux.X11Display = XDisplay;
ContextManager->initialize(CreationParams, data);
VideoDriver = video::createOpenGLDriver(CreationParams, FileSystem, ContextManager);
}
#else
#else
os::Printer::log("No OpenGL support compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_OGLES1:
#ifdef _IRR_COMPILE_WITH_OGLES1_
#ifdef _IRR_COMPILE_WITH_OGLES1_
{
video::SExposedVideoData data;
data.OpenGLLinux.X11Window = XWindow;
data.OpenGLLinux.X11Display = XDisplay;
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, data);
VideoDriver = video::createOGLES1Driver(CreationParams, FileSystem, ContextManager);
}
#else
#else
os::Printer::log("No OpenGL-ES1 support compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_OGLES2:
#ifdef _IRR_COMPILE_WITH_OGLES2_
#ifdef _IRR_COMPILE_WITH_OGLES2_
{
video::SExposedVideoData data;
data.OpenGLLinux.X11Window = XWindow;
data.OpenGLLinux.X11Display = XDisplay;
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, data);
VideoDriver = video::createOGLES2Driver(CreationParams, FileSystem, ContextManager);
}
#else
#else
os::Printer::log("No OpenGL-ES2 support compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::DEPRECATED_EDT_DIRECT3D8_NO_LONGER_EXISTS:
case video::EDT_DIRECT3D9:
os::Printer::log("This driver is not available in Linux. Try OpenGL or Software renderer.",
ELL_ERROR);
break;
case video::EDT_NULL:
VideoDriver = video::createNullDriver(FileSystem, CreationParams.WindowSize);
break;
default:
os::Printer::log("Unable to create video driver of unknown type.", ELL_ERROR);
break;
@ -1181,7 +1174,7 @@ bool CIrrDeviceLinux::present(video::IImage* image, void* windowId, core::rect<s
return false;
}
u8* srcdata = reinterpret_cast<u8*>(image->lock());
u8* srcdata = reinterpret_cast<u8*>(image->getData());
u8* destData = reinterpret_cast<u8*>(SoftwareImage->data);
const u32 destheight = SoftwareImage->height;
@ -1193,7 +1186,6 @@ bool CIrrDeviceLinux::present(video::IImage* image, void* windowId, core::rect<s
srcdata+=srcPitch;
destData+=destPitch;
}
image->unlock();
GC gc = DefaultGC(XDisplay, DefaultScreen(XDisplay));
Window myWindow=XWindow;

View File

@ -114,13 +114,6 @@ video::IVideoDriver* CIrrDeviceStub::getVideoDriver()
}
//! return the context manager
video::IContextManager* CIrrDeviceStub::getContextManager()
{
return ContextManager;
}
//! return file system
io::IFileSystem* CIrrDeviceStub::getFileSystem()
{
@ -172,6 +165,11 @@ video::IVideoModeList* CIrrDeviceStub::getVideoModeList()
return VideoModeList;
}
//! return the context manager
video::IContextManager* CIrrDeviceStub::getContextManager()
{
return ContextManager;
}
//! checks version of sdk and prints warning if there might be a problem
bool CIrrDeviceStub::checkVersion(const char* version)

View File

@ -78,7 +78,7 @@ namespace irr
virtual video::IVideoModeList* getVideoModeList() _IRR_OVERRIDE_;
//! return the context manager
virtual video::IContextManager* getContextManager();
virtual video::IContextManager* getContextManager() _IRR_OVERRIDE_;
//! Returns a pointer to the ITimer object. With it the current Time can be received.
virtual ITimer* getTimer() _IRR_OVERRIDE_;

View File

@ -34,10 +34,12 @@
#endif
#endif
#endif
#if defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_WINDOWS_API_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
#if defined(_IRR_COMPILE_WITH_OGLES1_) || defined(_IRR_COMPILE_WITH_OGLES2_)
#include "CEGLManager.h"
#endif
#if defined(_IRR_WINDOWS_API_)
#if defined(_IRR_COMPILE_WITH_OPENGL_)
#include "CWGLManager.h"
#endif
@ -45,35 +47,21 @@ namespace irr
{
namespace video
{
#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
IVideoDriver* createDirectX9Driver(const irr::SIrrlichtCreationParameters& params,
io::IFileSystem* io, HWND window);
#endif
#ifdef _IRR_COMPILE_WITH_OPENGL_
IVideoDriver* createOpenGLDriver(const irr::SIrrlichtCreationParameters& params,
io::IFileSystem* io, IContextManager* contextManager);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES1_
IVideoDriver* createOGLES1Driver(const SIrrlichtCreationParameters& params, 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
#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
IVideoDriver* createDirectX9Driver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, HWND window);
#endif
);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES2_
IVideoDriver* createOGLES2Driver(const SIrrlichtCreationParameters& params, 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
#ifdef _IRR_COMPILE_WITH_OPENGL_
IVideoDriver* createOpenGLDriver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES1_
IVideoDriver* createOGLES1Driver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
#ifdef _IRR_COMPILE_WITH_OGLES2_
IVideoDriver* createOGLES2Driver(const irr::SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
#endif
);
#endif
}
} // end namespace irr
@ -1194,104 +1182,83 @@ void CIrrDeviceWin32::createDriver()
{
case video::DEPRECATED_EDT_DIRECT3D8_NO_LONGER_EXISTS:
os::Printer::log("DIRECT3D8 Driver is no longer supported in Irrlicht. Try another one.", ELL_ERROR);
break;
break;
case video::EDT_DIRECT3D9:
#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
#ifdef _IRR_COMPILE_WITH_DIRECT3D_9_
VideoDriver = video::createDirectX9Driver(CreationParams, FileSystem, HWnd);
if (!VideoDriver)
{
os::Printer::log("Could not create DIRECT3D9 Driver.", ELL_ERROR);
}
#else
#else
os::Printer::log("DIRECT3D9 Driver was not compiled into this dll. Try another one.", ELL_ERROR);
#endif // _IRR_COMPILE_WITH_DIRECT3D_9_
#endif
break;
case video::EDT_OPENGL:
#ifdef _IRR_COMPILE_WITH_OPENGL_
{
switchToFullScreen();
#ifdef _IRR_COMPILE_WITH_OPENGL_
switchToFullScreen();
ContextManager = new video::CWGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
VideoDriver = video::createOpenGLDriver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
{
os::Printer::log("Could not create OpenGL driver.", ELL_ERROR);
}
}
#else
ContextManager = new video::CWGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
VideoDriver = video::createOpenGLDriver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
os::Printer::log("Could not create OpenGL driver.", ELL_ERROR);
#else
os::Printer::log("OpenGL driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_OGLES1:
#ifdef _IRR_COMPILE_WITH_OGLES1_
{
switchToFullScreen();
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
#ifdef _IRR_COMPILE_WITH_OGLES1_
switchToFullScreen();
VideoDriver = video::createOGLES1Driver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
{
os::Printer::log("Could not create OpenGL-ES1 driver.", ELL_ERROR);
}
}
#else
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
VideoDriver = video::createOGLES1Driver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
os::Printer::log("Could not create OpenGL-ES1 driver.", ELL_ERROR);
#else
os::Printer::log("OpenGL-ES1 driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_OGLES2:
#ifdef _IRR_COMPILE_WITH_OGLES2_
{
switchToFullScreen();
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
#ifdef _IRR_COMPILE_WITH_OGLES2_
switchToFullScreen();
VideoDriver = video::createOGLES2Driver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
{
os::Printer::log("Could not create OpenGL-ES2 driver.", ELL_ERROR);
}
}
#else
ContextManager = new video::CEGLManager();
ContextManager->initialize(CreationParams, video::SExposedVideoData(HWnd));
VideoDriver = video::createOGLES2Driver(CreationParams, FileSystem, ContextManager);
if (!VideoDriver)
os::Printer::log("Could not create OpenGL-ES2 driver.", ELL_ERROR);
#else
os::Printer::log("OpenGL-ES2 driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_SOFTWARE:
#ifdef _IRR_COMPILE_WITH_SOFTWARE_
#ifdef _IRR_COMPILE_WITH_SOFTWARE_
switchToFullScreen();
VideoDriver = video::createSoftwareDriver(CreationParams.WindowSize, CreationParams.Fullscreen, FileSystem, this);
#else
#else
os::Printer::log("Software driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_BURNINGSVIDEO:
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
switchToFullScreen();
VideoDriver = video::createBurningVideoDriver(CreationParams, FileSystem, this);
#else
#else
os::Printer::log("Burning's Video driver was not compiled in.", ELL_ERROR);
#endif
#endif
break;
case video::EDT_NULL:
// create null driver
VideoDriver = video::createNullDriver(FileSystem, CreationParams.WindowSize);
break;
default:
os::Printer::log("Unable to create video driver of unknown type.", ELL_ERROR);
break;

View File

@ -3,8 +3,8 @@
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "COpenGLDriver.h"
#include "IContextManager.h"
#include "CNullDriver.h"
#include "IContextManager.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
@ -44,126 +44,56 @@ namespace video
// Statics variables
const u16 COpenGLDriver::Quad2DIndices[4] = { 0, 1, 2, 3 };
// -----------------------------------------------------------------------
// WINDOWS CONSTRUCTOR
// -----------------------------------------------------------------------
#ifdef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
#include "CWGLManager.h"
//! Windows constructor and init code
#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
COpenGLDriver::COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager)
: CNullDriver(io, params.WindowSize), COpenGLExtensionHandler(), CacheHandler(0),
CurrentRenderMode(ERM_NONE), ResetRenderStates(true), Transformation3DChanged(true),
AntiAlias(params.AntiAlias), ColorFormat(ECF_R8G8B8), FixedPipelineState(EOFPS_ENABLE),
Params(params), ContextManager(contextManager), DeviceType(EIDT_WIN32)
: CNullDriver(io, params.WindowSize), COpenGLExtensionHandler(), CacheHandler(0), CurrentRenderMode(ERM_NONE), ResetRenderStates(true),
Transformation3DChanged(true), AntiAlias(params.AntiAlias), ColorFormat(ECF_R8G8B8), FixedPipelineState(EOFPS_ENABLE), Params(params),
ContextManager(contextManager),
#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_)
DeviceType(EIDT_WIN32)
#elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)
DeviceType(EIDT_X11)
#else
DeviceType(EIDT_OSX)
#endif
{
#ifdef _DEBUG
#ifdef _DEBUG
setDebugName("COpenGLDriver");
#endif
#endif
}
#endif
//! inits the open gl driver
bool COpenGLDriver::initDriver(CIrrDeviceWin32* device)
{
ContextManager->generateSurface();
ContextManager->generateContext();
ExposedData=ContextManager->getContext();
ContextManager->activateContext(ExposedData);
genericDriverInit();
extGlSwapInterval(Params.Vsync ? 1 : 0);
return true;
}
#endif // _IRR_COMPILE_WITH_WINDOWS_DEVICE_
// -----------------------------------------------------------------------
// MacOSX CONSTRUCTOR
// -----------------------------------------------------------------------
#ifdef _IRR_COMPILE_WITH_OSX_DEVICE_
//! OSX constructor and init code
COpenGLDriver::COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager)
: CNullDriver(io, params.WindowSize), COpenGLExtensionHandler(), CacheHandler(0),
CurrentRenderMode(ERM_NONE), ResetRenderStates(true), Transformation3DChanged(true),
AntiAlias(params.AntiAlias), ColorFormat(ECF_R8G8B8), FixedPipelineState(EOFPS_ENABLE),
Params(params), ContextManager(contextManager), DeviceType(EIDT_OSX)
{
#ifdef _DEBUG
setDebugName("COpenGLDriver");
#endif
}
//! inits the open gl driver
bool COpenGLDriver::initDriver()
{
ContextManager->generateSurface();
ContextManager->generateContext();
ExposedData=ContextManager->getContext();
ContextManager->activateContext(ExposedData);
genericDriverInit();
return true;
}
#endif // _IRR_COMPILE_WITH_OSX_DEVICE_
// -----------------------------------------------------------------------
// LINUX CONSTRUCTOR
// -----------------------------------------------------------------------
#ifdef _IRR_COMPILE_WITH_X11_DEVICE_
//! Linux constructor and init code
COpenGLDriver::COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager)
: CNullDriver(io, params.WindowSize), COpenGLExtensionHandler(), CacheHandler(0),
CurrentRenderMode(ERM_NONE), ResetRenderStates(true), Transformation3DChanged(true),
AntiAlias(params.AntiAlias), ColorFormat(ECF_R8G8B8), FixedPipelineState(EOFPS_ENABLE),
Params(params), ContextManager(contextManager), DeviceType(EIDT_X11)
{
#ifdef _DEBUG
setDebugName("COpenGLDriver");
#endif
}
//! inits the open gl driver
bool COpenGLDriver::initDriver(CIrrDeviceLinux* device)
{
ContextManager->generateSurface();
ContextManager->generateContext();
ExposedData=ContextManager->getContext();
ContextManager->activateContext(ExposedData);
genericDriverInit();
extGlSwapInterval(Params.Vsync ? 1 : 0);
return true;
}
#endif // _IRR_COMPILE_WITH_X11_DEVICE_
// -----------------------------------------------------------------------
// SDL CONSTRUCTOR
// -----------------------------------------------------------------------
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
//! SDL constructor and init code
COpenGLDriver::COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, CIrrDeviceSDL* device)
: CNullDriver(io, params.WindowSize), COpenGLExtensionHandler(), CacheHandler(0),
CurrentRenderMode(ERM_NONE), ResetRenderStates(true), Transformation3DChanged(true),
AntiAlias(params.AntiAlias), ColorFormat(ECF_R8G8B8), FixedPipelineState(EOFPS_ENABLE),
Params(params), SDLDevice(device), DeviceType(EIDT_SDL)
{
#ifdef _DEBUG
#ifdef _DEBUG
setDebugName("COpenGLDriver");
#endif
#endif
genericDriverInit();
}
#endif // _IRR_COMPILE_WITH_SDL_DEVICE_
#endif
bool COpenGLDriver::initDriver()
{
ContextManager->generateSurface();
ContextManager->generateContext();
ExposedData = ContextManager->getContext();
ContextManager->activateContext(ExposedData);
genericDriverInit();
#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_)
extGlSwapInterval(Params.Vsync ? 1 : 0);
#endif
return true;
}
//! destructor
COpenGLDriver::~COpenGLDriver()
@ -199,6 +129,7 @@ bool COpenGLDriver::genericDriverInit()
{
if (ContextManager)
ContextManager->grab();
Name=L"OpenGL ";
Name.append(glGetString(GL_VERSION));
s32 pos=Name.findNext(L' ', 7);
@ -368,18 +299,15 @@ bool COpenGLDriver::beginScene(u16 clearFlag, SColor clearColor, f32 clearDepth,
{
CNullDriver::beginScene(clearFlag, clearColor, clearDepth, clearStencil, videoData, sourceRect);
ContextManager->activateContext(videoData);
if (ContextManager)
ContextManager->activateContext(videoData);
#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)
if (DeviceType == EIDT_SDL)
{
// todo: SDL sets glFrontFace(GL_CCW) after driver creation,
// it would be better if this was fixed elsewhere.
glFrontFace(GL_CW);
}
glFrontFace(GL_CW);
#endif
clearBuffers(clearFlag, clearColor, clearDepth, clearStencil);
return true;
}
@ -389,38 +317,19 @@ bool COpenGLDriver::endScene()
glFlush();
#ifdef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
if (DeviceType == EIDT_WIN32)
{
return ContextManager->swapBuffers();
}
#endif
bool status = false;
#ifdef _IRR_COMPILE_WITH_X11_DEVICE_
if (DeviceType == EIDT_X11)
{
return ContextManager->swapBuffers();
}
#endif
#ifdef _IRR_COMPILE_WITH_OSX_DEVICE_
if (DeviceType == EIDT_OSX)
{
return ContextManager->swapBuffers();
}
#endif
if (ContextManager)
status = ContextManager->swapBuffers();
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
if (DeviceType == EIDT_SDL)
{
SDL_GL_SwapBuffers();
return true;
}
SDL_GL_SwapBuffers();
status = true;
#endif
// todo: console device present
return false;
return status;
}
@ -4380,70 +4289,24 @@ namespace irr
namespace video
{
// -----------------------------------
// WINDOWS VERSION
// -----------------------------------
#ifdef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
IVideoDriver* createOpenGLDriver(const SIrrlichtCreationParameters& params,
io::IFileSystem* io, IContextManager* contextManager)
{
#ifdef _IRR_COMPILE_WITH_OPENGL_
COpenGLDriver* ogl = new COpenGLDriver(params, io, contextManager);
if (!ogl->initDriver((CIrrDeviceWin32*)0))
#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
IVideoDriver* createOpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager)
{
ogl->drop();
ogl = 0;
}
return ogl;
#else
return 0;
#endif // _IRR_COMPILE_WITH_OPENGL_
}
#endif // _IRR_COMPILE_WITH_WINDOWS_DEVICE_
// -----------------------------------
// MACOSX VERSION
// -----------------------------------
#if defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
IVideoDriver* createOpenGLDriver(const SIrrlichtCreationParameters& params,
io::IFileSystem* io, IContextManager* contextManager)
{
#ifdef _IRR_COMPILE_WITH_OPENGL_
COpenGLDriver* ogl = new COpenGLDriver(params, io, contextManager);
if (!ogl->initDriver())
{
ogl->drop();
ogl = 0;
}
return ogl;
#else
return 0;
#endif // _IRR_COMPILE_WITH_OPENGL_
}
#endif // _IRR_COMPILE_WITH_OSX_DEVICE_
COpenGLDriver* ogl = new COpenGLDriver(params, io, contextManager);
// -----------------------------------
// X11 VERSION
// -----------------------------------
#ifdef _IRR_COMPILE_WITH_X11_DEVICE_
IVideoDriver* createOpenGLDriver(const SIrrlichtCreationParameters& params,
io::IFileSystem* io, IContextManager* contextManager)
{
#ifdef _IRR_COMPILE_WITH_OPENGL_
COpenGLDriver* ogl = new COpenGLDriver(params, io, contextManager);
if (!ogl->initDriver((CIrrDeviceLinux*)0))
{
ogl->drop();
ogl = 0;
}
return ogl;
#else
return 0;
#endif // _IRR_COMPILE_WITH_OPENGL_
}
#endif // _IRR_COMPILE_WITH_X11_DEVICE_
if (!ogl->initDriver())
{
ogl->drop();
ogl = 0;
}
return ogl;
#else
return 0;
#endif
}
#endif
// -----------------------------------
// SDL VERSION

View File

@ -30,6 +30,8 @@ namespace irr
namespace video
{
class IContextManager;
class COpenGLDriver : public CNullDriver, public IMaterialRendererServices, public COpenGLExtensionHandler
{
friend COpenGLCacheHandler;
@ -44,26 +46,15 @@ namespace video
EOFPS_DISABLE_TO_ENABLE // switch from programmable to fixed pipeline.
};
#ifdef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
//! inits the windows specific parts of the open gl driver
bool initDriver(CIrrDeviceWin32* device);
#endif
#endif
#ifdef _IRR_COMPILE_WITH_X11_DEVICE_
COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
//! inits the GLX specific parts of the open gl driver
bool initDriver(CIrrDeviceLinux* device);
#endif
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, CIrrDeviceSDL* device);
#endif
#endif
#ifdef _IRR_COMPILE_WITH_OSX_DEVICE_
COpenGLDriver(const SIrrlichtCreationParameters& params, io::IFileSystem* io, IContextManager* contextManager);
bool initDriver();
#endif
bool initDriver();
//! destructor
virtual ~COpenGLDriver();
@ -510,6 +501,7 @@ namespace video
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
CIrrDeviceSDL *SDLDevice;
#endif
IContextManager* ContextManager;
E_DEVICE_TYPE DeviceType;

View File

@ -247,7 +247,7 @@ bool CSoftwareDriver::endScene()
ITexture* CSoftwareDriver::createDeviceDependentTexture(const io::path& name, IImage* image)
{
CSoftwareTexture2* texture = new CSoftwareTexture2(image, name, false);
CSoftwareTexture* texture = new CSoftwareTexture(image, name, false);
return texture;
}

View File

@ -2352,7 +2352,7 @@ void CBurningVideoDriver::drawStencilShadow(bool clearStencilBuffer, video::SCol
for ( u32 y = 0; y < h; ++y )
{
dst = (tVideoSample*)RenderTargetSurface->lock() + ( y * w );
dst = (tVideoSample*)RenderTargetSurface->getData() + ( y * w );
stencil = stencilBase + ( y * w );
for ( u32 x = 0; x < w; ++x )

View File

@ -78,7 +78,7 @@ CSoftwareTexture::~CSoftwareTexture()
//! lock function
void* CSoftwareTexture::lock(E_TEXTURE_LOCK_MODE mode, u32 mipmapLevel)
{
return Image->lock();
return Image->getData();
}
@ -91,8 +91,6 @@ void CSoftwareTexture::unlock()
os::Printer::log("Performance warning, slow unlock of non power of 2 texture.", ELL_WARNING);
Image->copyToScaling(Texture);
}
Image->unlock();
}

View File

@ -451,6 +451,7 @@
<Unit filename="..\..\include\IBoneSceneNode.h" />
<Unit filename="..\..\include\ICameraSceneNode.h" />
<Unit filename="..\..\include\IColladaMeshWriter.h" />
<Unit filename="..\..\include\IContextManager.h" />
<Unit filename="..\..\include\ICursorControl.h" />
<Unit filename="..\..\include\IDummyTransformationSceneNode.h" />
<Unit filename="..\..\include\IDynamicMeshBuffer.h" />
@ -1045,8 +1046,6 @@
<Unit filename="ITriangleRenderer.h" />
<Unit filename="IZBuffer.h" />
<Unit filename="Irrlicht.cpp" />
<Unit filename="MacOSX/CIrrDeviceMacOSX.h" />
<Unit filename="MacOSX/CIrrDeviceMacOSX.mm" />
<Unit filename="Octree.h" />
<Unit filename="S2DVertex.h" />
<Unit filename="S4DVertex.h" />

View File

@ -857,6 +857,7 @@
<ClInclude Include="..\..\include\SIrrCreationParameters.h" />
<ClInclude Include="..\..\include\SKeyMap.h" />
<ClInclude Include="..\..\include\EDriverTypes.h" />
<ClInclude Include="..\..\include\IContextManager.h" />
<ClInclude Include="..\..\include\IGeometryCreator.h" />
<ClInclude Include="..\..\include\IGPUProgrammingServices.h" />
<ClInclude Include="..\..\include\IImage.h" />
@ -1007,6 +1008,7 @@
<ClInclude Include="CDefaultSceneNodeFactory.h" />
<ClInclude Include="CEGLManager.h" />
<ClInclude Include="CGeometryCreator.h" />
<ClInclude Include="CGLXManager.h" />
<ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COGLCoreCacheHandler.h" />
@ -1272,6 +1274,7 @@
<ClCompile Include="CDefaultSceneNodeFactory.cpp" />
<ClCompile Include="CEGLManager.cpp" />
<ClCompile Include="CGeometryCreator.cpp" />
<ClCompile Include="CGLXManager.cpp" />
<ClCompile Include="CMeshCache.cpp" />
<ClCompile Include="CMeshManipulator.cpp" />
<ClCompile Include="COGLES2Driver.cpp" />

View File

@ -109,6 +109,9 @@
<Filter Include="Irrlicht\video\OpenGL ES2.x">
<UniqueIdentifier>{6372c29c-b69e-41e5-bee2-27ad7cf3872f}</UniqueIdentifier>
</Filter>
<Filter Include="Irrlicht\video\OpenGL Context">
<UniqueIdentifier>{397439c6-ad86-45a8-b692-f3606794a075}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\IEventReceiver.h">
@ -150,6 +153,9 @@
<ClInclude Include="..\..\include\EDriverTypes.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IContextManager.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IGeometryCreator.h">
<Filter>include\video</Filter>
</ClInclude>
@ -1333,12 +1339,6 @@
<ClInclude Include="COGLCoreTexture.h">
<Filter>Irrlicht\video\OpenGL Core</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="COGLES2Common.h">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClInclude>
@ -1375,6 +1375,15 @@
<ClInclude Include="COGLESMaterialRenderer.h">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CGLXManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\changes.txt">
@ -2306,12 +2315,6 @@
<ClCompile Include="COpenGLSLMaterialRenderer.cpp">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="COGLES2Driver.cpp">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClCompile>
@ -2339,6 +2342,15 @@
<ClCompile Include="COGLESExtensionHandler.cpp">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CGLXManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Irrlicht.rc" />

View File

@ -858,6 +858,7 @@
<ClInclude Include="..\..\include\SIrrCreationParameters.h" />
<ClInclude Include="..\..\include\SKeyMap.h" />
<ClInclude Include="..\..\include\EDriverTypes.h" />
<ClInclude Include="..\..\include\IContextManager.h" />
<ClInclude Include="..\..\include\IGeometryCreator.h" />
<ClInclude Include="..\..\include\IGPUProgrammingServices.h" />
<ClInclude Include="..\..\include\IImage.h" />
@ -1007,6 +1008,7 @@
<ClInclude Include="CDefaultSceneNodeFactory.h" />
<ClInclude Include="CEGLManager.h" />
<ClInclude Include="CGeometryCreator.h" />
<ClInclude Include="CGLXManager.h" />
<ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COGLCoreCacheHandler.h" />
@ -1272,6 +1274,7 @@
<ClCompile Include="CDefaultSceneNodeFactory.cpp" />
<ClCompile Include="CEGLManager.cpp" />
<ClCompile Include="CGeometryCreator.cpp" />
<ClCompile Include="CGLXManager.cpp" />
<ClCompile Include="CMeshCache.cpp" />
<ClCompile Include="CMeshManipulator.cpp" />
<ClCompile Include="COGLES2Driver.cpp" />

View File

@ -109,6 +109,9 @@
<Filter Include="Irrlicht\video\OpenGL ES2.x">
<UniqueIdentifier>{9386255e-8324-4ce1-864a-225390cee09e}</UniqueIdentifier>
</Filter>
<Filter Include="Irrlicht\video\OpenGL Context">
<UniqueIdentifier>{d16493e0-554f-49e0-b228-0e4047839dba}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\IEventReceiver.h">
@ -156,6 +159,9 @@
<ClInclude Include="..\..\include\EDriverTypes.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IContextManager.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IGeometryCreator.h">
<Filter>include\video</Filter>
</ClInclude>
@ -1333,12 +1339,6 @@
<ClInclude Include="COGLCoreTexture.h">
<Filter>Irrlicht\video\OpenGL Core</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="COGLES2Common.h">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClInclude>
@ -1375,6 +1375,15 @@
<ClInclude Include="COGLESMaterialRenderer.h">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CGLXManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\changes.txt">
@ -2306,12 +2315,6 @@
<ClCompile Include="COpenGLSLMaterialRenderer.cpp">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="COGLES2Driver.cpp">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClCompile>
@ -2339,6 +2342,15 @@
<ClCompile Include="COGLESExtensionHandler.cpp">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CGLXManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Irrlicht.rc" />

View File

@ -858,6 +858,7 @@
<ClInclude Include="..\..\include\SIrrCreationParameters.h" />
<ClInclude Include="..\..\include\SKeyMap.h" />
<ClInclude Include="..\..\include\EDriverTypes.h" />
<ClInclude Include="..\..\include\IContextManager.h" />
<ClInclude Include="..\..\include\IGeometryCreator.h" />
<ClInclude Include="..\..\include\IGPUProgrammingServices.h" />
<ClInclude Include="..\..\include\IImage.h" />
@ -1007,6 +1008,7 @@
<ClInclude Include="CDefaultSceneNodeFactory.h" />
<ClInclude Include="CEGLManager.h" />
<ClInclude Include="CGeometryCreator.h" />
<ClInclude Include="CGLXManager.h" />
<ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COGLCoreCacheHandler.h" />
@ -1272,6 +1274,7 @@
<ClCompile Include="CDefaultSceneNodeFactory.cpp" />
<ClCompile Include="CEGLManager.cpp" />
<ClCompile Include="CGeometryCreator.cpp" />
<ClCompile Include="CGLXManager.cpp" />
<ClCompile Include="CMeshCache.cpp" />
<ClCompile Include="CMeshManipulator.cpp" />
<ClCompile Include="COGLES2Driver.cpp" />

View File

@ -109,6 +109,9 @@
<Filter Include="Irrlicht\video\OpenGL ES2.x">
<UniqueIdentifier>{8868062c-90fe-48c1-863f-daddd86dca3c}</UniqueIdentifier>
</Filter>
<Filter Include="Irrlicht\video\OpenGL Context">
<UniqueIdentifier>{f1f5ce52-0b36-4934-8c51-8e73026f94cc}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\IEventReceiver.h">
@ -156,6 +159,9 @@
<ClInclude Include="..\..\include\EDriverTypes.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IContextManager.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IGeometryCreator.h">
<Filter>include\video</Filter>
</ClInclude>
@ -1333,12 +1339,6 @@
<ClInclude Include="COGLCoreTexture.h">
<Filter>Irrlicht\video\OpenGL Core</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="COGLES2Common.h">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClInclude>
@ -1375,6 +1375,15 @@
<ClInclude Include="COGLESMaterialRenderer.h">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CGLXManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\changes.txt">
@ -2306,12 +2315,6 @@
<ClCompile Include="COpenGLSLMaterialRenderer.cpp">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="COGLES2Driver.cpp">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClCompile>
@ -2339,6 +2342,15 @@
<ClCompile Include="COGLESExtensionHandler.cpp">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CGLXManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Irrlicht.rc" />

View File

@ -868,6 +868,7 @@
<ClInclude Include="..\..\include\SIrrCreationParameters.h" />
<ClInclude Include="..\..\include\SKeyMap.h" />
<ClInclude Include="..\..\include\EDriverTypes.h" />
<ClInclude Include="..\..\include\IContextManager.h" />
<ClInclude Include="..\..\include\IGeometryCreator.h" />
<ClInclude Include="..\..\include\IGPUProgrammingServices.h" />
<ClInclude Include="..\..\include\IImage.h" />
@ -1017,6 +1018,7 @@
<ClInclude Include="CDefaultSceneNodeFactory.h" />
<ClInclude Include="CEGLManager.h" />
<ClInclude Include="CGeometryCreator.h" />
<ClInclude Include="CGLXManager.h" />
<ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COGLCoreCacheHandler.h" />
@ -1282,6 +1284,7 @@
<ClCompile Include="CDefaultSceneNodeFactory.cpp" />
<ClCompile Include="CEGLManager.cpp" />
<ClCompile Include="CGeometryCreator.cpp" />
<ClCompile Include="CGLXManager.cpp" />
<ClCompile Include="CMeshCache.cpp" />
<ClCompile Include="CMeshManipulator.cpp" />
<ClCompile Include="COGLES2Driver.cpp" />

View File

@ -109,6 +109,9 @@
<Filter Include="Irrlicht\video\OpenGL ES2.x">
<UniqueIdentifier>{fbd95ddd-9178-412e-942b-f1c94ab68240}</UniqueIdentifier>
</Filter>
<Filter Include="Irrlicht\video\OpenGL Context">
<UniqueIdentifier>{2512a519-e6c0-4b48-aae4-ded2d2500b95}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\IEventReceiver.h">
@ -156,6 +159,9 @@
<ClInclude Include="..\..\include\EDriverTypes.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IContextManager.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\IGeometryCreator.h">
<Filter>include\video</Filter>
</ClInclude>
@ -1333,12 +1339,6 @@
<ClInclude Include="COGLCoreTexture.h">
<Filter>Irrlicht\video\OpenGL Core</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="COGLES2Common.h">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClInclude>
@ -1375,6 +1375,15 @@
<ClInclude Include="COGLESMaterialRenderer.h">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClInclude>
<ClInclude Include="CEGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CGLXManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
<ClInclude Include="CWGLManager.h">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\changes.txt">
@ -2306,12 +2315,6 @@
<ClCompile Include="COpenGLSLMaterialRenderer.cpp">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="COGLES2Driver.cpp">
<Filter>Irrlicht\video\OpenGL ES2.x</Filter>
</ClCompile>
@ -2339,6 +2342,15 @@
<ClCompile Include="COGLESExtensionHandler.cpp">
<Filter>Irrlicht\video\OpenGL ES1.x</Filter>
</ClCompile>
<ClCompile Include="CEGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CGLXManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
<ClCompile Include="CWGLManager.cpp">
<Filter>Irrlicht\video\OpenGL Context</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Irrlicht.rc" />

View File

@ -38,7 +38,7 @@ IRRMESHOBJ = $(IRRMESHLOADER) $(IRRMESHWRITER) \
IRROBJ = CBillboardSceneNode.o CCameraSceneNode.o CDummyTransformationSceneNode.o CEmptySceneNode.o CGeometryCreator.o CLightSceneNode.o CMeshManipulator.o CMetaTriangleSelector.o COctreeSceneNode.o COctreeTriangleSelector.o CSceneCollisionManager.o CSceneManager.o CShadowVolumeSceneNode.o CSkyBoxSceneNode.o CSkyDomeSceneNode.o CTerrainSceneNode.o CTerrainTriangleSelector.o CVolumeLightSceneNode.o CCubeSceneNode.o CSphereSceneNode.o CTextSceneNode.o CTriangleBBSelector.o CTriangleSelector.o CWaterSurfaceSceneNode.o CMeshCache.o CDefaultSceneNodeAnimatorFactory.o CDefaultSceneNodeFactory.o CSceneLoaderIrr.o
IRRPARTICLEOBJ = CParticleAnimatedMeshSceneNodeEmitter.o CParticleBoxEmitter.o CParticleCylinderEmitter.o CParticleMeshEmitter.o CParticlePointEmitter.o CParticleRingEmitter.o CParticleSphereEmitter.o CParticleAttractionAffector.o CParticleFadeOutAffector.o CParticleGravityAffector.o CParticleRotationAffector.o CParticleSystemSceneNode.o CParticleScaleAffector.o
IRRANIMOBJ = CSceneNodeAnimatorCameraFPS.o CSceneNodeAnimatorCameraMaya.o CSceneNodeAnimatorCollisionResponse.o CSceneNodeAnimatorDelete.o CSceneNodeAnimatorFlyCircle.o CSceneNodeAnimatorFlyStraight.o CSceneNodeAnimatorFollowSpline.o CSceneNodeAnimatorRotation.o CSceneNodeAnimatorTexture.o
IRRDRVROBJ = CNullDriver.o COpenGLCacheHandler.o COpenGLDriver.o COpenGLNormalMapRenderer.o COpenGLParallaxMapRenderer.o COpenGLShaderMaterialRenderer.o COpenGLSLMaterialRenderer.o COpenGLExtensionHandler.o CD3D9Driver.o CD3D9HLSLMaterialRenderer.o CD3D9NormalMapRenderer.o CD3D9ParallaxMapRenderer.o CD3D9ShaderMaterialRenderer.o CD3D9Texture.o COGLESDriver.o COGLESExtensionHandler.o COGLES2Driver.o COGLES2ExtensionHandler.o COGLES2FixedPipelineRenderer.o COGLES2MaterialRenderer.o COGLES2NormalMapRenderer.o COGLES2ParallaxMapRenderer.o COGLES2Renderer2D.o CEGLManager.o CEGLManager.o CWGLManager.o CGLXManager.o
IRRDRVROBJ = CNullDriver.o COpenGLCacheHandler.o COpenGLDriver.o COpenGLNormalMapRenderer.o COpenGLParallaxMapRenderer.o COpenGLShaderMaterialRenderer.o COpenGLSLMaterialRenderer.o COpenGLExtensionHandler.o CD3D9Driver.o CD3D9HLSLMaterialRenderer.o CD3D9NormalMapRenderer.o CD3D9ParallaxMapRenderer.o CD3D9ShaderMaterialRenderer.o CD3D9Texture.o COGLESDriver.o COGLESExtensionHandler.o COGLES2Driver.o COGLES2ExtensionHandler.o COGLES2FixedPipelineRenderer.o COGLES2MaterialRenderer.o COGLES2NormalMapRenderer.o COGLES2ParallaxMapRenderer.o COGLES2Renderer2D.o CGLXManager.o CWGLManager.o CEGLManager.o
IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CImageLoaderJPG.o CImageLoaderPCX.o CImageLoaderPNG.o CImageLoaderPSD.o CImageLoaderPVR.o CImageLoaderTGA.o CImageLoaderPPM.o CImageLoaderWAL.o CImageLoaderRGB.o \
CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o
IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)