#include <irrlicht.h>
#include <iostream>
#include <XEffects.h>
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#pragma comment(lib, "Irrlicht.lib")
#endif
using namespace irr;
using namespace scene;
using namespace video;
using namespace core;
using namespace std;
The XEffects.h is included as a header file. The CShaderPre.cpp and the EffectHandler.cpp are included as resource files. And these are some of the errors that I have:
-> effecthandler.h(191) : error C2039: 'dimension2du' : is not a member of 'irr::core'
-> effectcb.h(105) : error C2065: 'currentRTTSize' : undeclared identifier
It looks like the version of XEffects you are using is intended to be used with Irrlicht 1.6 or later. It uses the type dimension2du. If this is the only problem, it shouldn't be to much trouble to fix. You should just add the following typedef near the bottom of dimension2d.h...
Another thing to think about. Don't pull all namespaces you use into the global namespace with using namespace .... If you do this, you'll get name collisions. As you have it above, trying to use the type string will likely result in compile errors.
error C2664: 'EffectHandler::EffectHandler(irr::IrrlichtDevice *,const irr::core::dimension2du &,const bool,const bool,const bool)' : cannot convert parameter 2 from 'const irr::core::dimension2d<T>' to 'const irr::core::dimension2du &'
1> with
1> [
1> T=irr::s32
1> ]
1> Reason: cannot convert from 'const irr::core::dimension2d<T>' to 'const irr::core::dimension2du'
1> with
1> [
1> T=irr::s32
1> ]
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
When I use Irrlicht 1.6 there is no errors to compile but I get a totally black screen, like if there is no lights at all. I've followed all the steps from the example code from XEffects. Is there any stupid solution to this that I didn't see?
Lonesome Ducky,
sorry if I wasn't so clear. The problem that I want to solve now is the one related to the black screen and XEffects. My code is using Irrlicht 1.6 now, so that s32/u32 problem is not a problem anymore