Don't use hardcoded path for irrlicht shaders
This commit is contained in:
parent
20e72b2e9d
commit
66e76be76d
@ -9,6 +9,7 @@
|
|||||||
#include "EDeviceTypes.h"
|
#include "EDeviceTypes.h"
|
||||||
#include "dimension2d.h"
|
#include "dimension2d.h"
|
||||||
#include "ILogger.h"
|
#include "ILogger.h"
|
||||||
|
#include "irrString.h"
|
||||||
|
|
||||||
namespace irr
|
namespace irr
|
||||||
{
|
{
|
||||||
@ -48,6 +49,7 @@ namespace irr
|
|||||||
DriverMultithreaded(false),
|
DriverMultithreaded(false),
|
||||||
UsePerformanceTimer(true),
|
UsePerformanceTimer(true),
|
||||||
ForceLegacyDevice(false),
|
ForceLegacyDevice(false),
|
||||||
|
ShadersPath(""),
|
||||||
SDK_version_do_not_use(IRRLICHT_SDK_VERSION)
|
SDK_version_do_not_use(IRRLICHT_SDK_VERSION)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -81,6 +83,7 @@ namespace irr
|
|||||||
DisplayAdapter = other.DisplayAdapter;
|
DisplayAdapter = other.DisplayAdapter;
|
||||||
UsePerformanceTimer = other.UsePerformanceTimer;
|
UsePerformanceTimer = other.UsePerformanceTimer;
|
||||||
ForceLegacyDevice = other.ForceLegacyDevice;
|
ForceLegacyDevice = other.ForceLegacyDevice;
|
||||||
|
ShadersPath = other.ShadersPath;
|
||||||
PrivateData = other.PrivateData;
|
PrivateData = other.PrivateData;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@ -297,6 +300,11 @@ namespace irr
|
|||||||
*/
|
*/
|
||||||
bool ForceLegacyDevice;
|
bool ForceLegacyDevice;
|
||||||
|
|
||||||
|
//! Specifies custom path for shaders directory.
|
||||||
|
/** Allows to overwrite IRR_OGLES2_SHADER_PATH constant
|
||||||
|
*/
|
||||||
|
core::stringc ShadersPath;
|
||||||
|
|
||||||
//! Don't use or change this parameter.
|
//! Don't use or change this parameter.
|
||||||
/** Always set it to IRRLICHT_SDK_VERSION, which is done by default.
|
/** Always set it to IRRLICHT_SDK_VERSION, which is done by default.
|
||||||
This is needed for sdk version checks. */
|
This is needed for sdk version checks. */
|
||||||
|
@ -54,6 +54,7 @@ namespace video
|
|||||||
, ViewRenderbuffer(0)
|
, ViewRenderbuffer(0)
|
||||||
, ViewDepthRenderbuffer(0)
|
, ViewDepthRenderbuffer(0)
|
||||||
#endif
|
#endif
|
||||||
|
, Params(params)
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
setDebugName("COGLES2Driver");
|
setDebugName("COGLES2Driver");
|
||||||
@ -436,11 +437,15 @@ namespace video
|
|||||||
|
|
||||||
// Fixed pipeline.
|
// Fixed pipeline.
|
||||||
|
|
||||||
core::stringc FPVSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc shaders_path = IRR_OGLES2_SHADER_PATH;
|
||||||
|
if (Params.ShadersPath.size() > 0)
|
||||||
|
shaders_path = Params.ShadersPath;
|
||||||
|
|
||||||
|
core::stringc FPVSPath = shaders_path;
|
||||||
FPVSPath += "COGLES2FixedPipeline.vsh";
|
FPVSPath += "COGLES2FixedPipeline.vsh";
|
||||||
os::Printer::log(FPVSPath.c_str());
|
os::Printer::log(FPVSPath.c_str());
|
||||||
|
|
||||||
core::stringc FPFSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc FPFSPath = shaders_path;
|
||||||
FPFSPath += "COGLES2FixedPipeline.fsh";
|
FPFSPath += "COGLES2FixedPipeline.fsh";
|
||||||
|
|
||||||
io::IReadFile* FPVSFile = FileSystem->createAndOpenFile(FPVSPath);
|
io::IReadFile* FPVSFile = FileSystem->createAndOpenFile(FPVSPath);
|
||||||
@ -479,10 +484,10 @@ namespace video
|
|||||||
|
|
||||||
// Normal Mapping.
|
// Normal Mapping.
|
||||||
|
|
||||||
core::stringc NMVSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc NMVSPath = shaders_path;
|
||||||
NMVSPath += "COGLES2NormalMap.vsh";
|
NMVSPath += "COGLES2NormalMap.vsh";
|
||||||
|
|
||||||
core::stringc NMFSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc NMFSPath = shaders_path;
|
||||||
NMFSPath += "COGLES2NormalMap.fsh";
|
NMFSPath += "COGLES2NormalMap.fsh";
|
||||||
|
|
||||||
io::IReadFile* NMVSFile = FileSystem->createAndOpenFile(NMVSPath);
|
io::IReadFile* NMVSFile = FileSystem->createAndOpenFile(NMVSPath);
|
||||||
@ -521,10 +526,10 @@ namespace video
|
|||||||
|
|
||||||
// Parallax Mapping.
|
// Parallax Mapping.
|
||||||
|
|
||||||
core::stringc PMVSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc PMVSPath = shaders_path;
|
||||||
PMVSPath += "COGLES2ParallaxMap.vsh";
|
PMVSPath += "COGLES2ParallaxMap.vsh";
|
||||||
|
|
||||||
core::stringc PMFSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc PMFSPath = shaders_path;
|
||||||
PMFSPath += "COGLES2ParallaxMap.fsh";
|
PMFSPath += "COGLES2ParallaxMap.fsh";
|
||||||
|
|
||||||
io::IReadFile* PMVSFile = FileSystem->createAndOpenFile(FPVSPath);
|
io::IReadFile* PMVSFile = FileSystem->createAndOpenFile(FPVSPath);
|
||||||
@ -593,10 +598,10 @@ namespace video
|
|||||||
|
|
||||||
// Create 2D material renderer.
|
// Create 2D material renderer.
|
||||||
|
|
||||||
core::stringc R2DVSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc R2DVSPath = shaders_path;
|
||||||
R2DVSPath += "COGLES2Renderer2D.vsh";
|
R2DVSPath += "COGLES2Renderer2D.vsh";
|
||||||
|
|
||||||
core::stringc R2DFSPath = IRR_OGLES2_SHADER_PATH;
|
core::stringc R2DFSPath = shaders_path;
|
||||||
R2DFSPath += "COGLES2Renderer2D.fsh";
|
R2DFSPath += "COGLES2Renderer2D.fsh";
|
||||||
|
|
||||||
io::IReadFile* R2DVSFile = FileSystem->createAndOpenFile(R2DVSPath);
|
io::IReadFile* R2DVSFile = FileSystem->createAndOpenFile(R2DVSPath);
|
||||||
|
@ -478,6 +478,8 @@ namespace video
|
|||||||
void* EglSurface;
|
void* EglSurface;
|
||||||
void* EglContext;
|
void* EglContext;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
SIrrlichtCreationParameters Params;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! This bridge between Irlicht pseudo OpenGL calls
|
//! This bridge between Irlicht pseudo OpenGL calls
|
||||||
|
@ -474,6 +474,8 @@ void IrrDriver::initDevice()
|
|||||||
core::dimension2du(UserConfigParams::m_width,
|
core::dimension2du(UserConfigParams::m_width,
|
||||||
UserConfigParams::m_height);
|
UserConfigParams::m_height);
|
||||||
params.HandleSRGB = true;
|
params.HandleSRGB = true;
|
||||||
|
params.ShadersPath = (file_manager->getShadersDir() +
|
||||||
|
"irrlicht/").c_str();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
switch ((int)UserConfigParams::m_antialiasing)
|
switch ((int)UserConfigParams::m_antialiasing)
|
||||||
|
@ -180,6 +180,11 @@ public:
|
|||||||
return getAsset(SHADER, name);
|
return getAsset(SHADER, name);
|
||||||
|
|
||||||
} // getShader
|
} // getShader
|
||||||
|
|
||||||
|
std::string getShadersDir() const
|
||||||
|
{
|
||||||
|
return m_subdir_name[SHADER];
|
||||||
|
}
|
||||||
}; // FileManager
|
}; // FileManager
|
||||||
|
|
||||||
extern FileManager* file_manager;
|
extern FileManager* file_manager;
|
||||||
|
Loading…
Reference in New Issue
Block a user