@All
I compile 1.5.2 version of Irrlicht (that one, old one, from 2009 year). And there burning's video looks a bit different. I.e. the same wrong colors, but quality is much better:
http://kas1e.mikendezign.com/aos4/irrli ... _1_5_2.jpg
http://kas1e.mikendezign.com/aos4/irrli ... _1_5_2.jpg
http://kas1e.mikendezign.com/aos4/irrli ... _1_5_2.jpg
http://kas1e.mikendezign.com/aos4/irrli ... _1_5_2.jpg
I also got an answer from Thomas (author of Burnings Video renderer), he sadly have no time to worry about, but he give me a nice tips : we should search for any bit shifting. So, its kind of isolate problem, and i just do search for "burnings" in whole sources, and in files i find, i do search on "<<" and on ">>" (so for bit shifting), and basically there is only source/IrrLicht/S4DVerthe.h file left, which have:
Code: Select all
// A8R8G8B8
struct sVec4;
struct sCompressedVec4
{
u32 argb;
void setA8R8G8B8 ( u32 value )
{
argb = value;
}
void setColorf ( const video::SColorf & color )
{
argb = core::floor32 ( color.a * 255.f ) << 24 |
core::floor32 ( color.r * 255.f ) << 16 |
core::floor32 ( color.g * 255.f ) << 8 |
core::floor32 ( color.b * 255.f );
}
void setVec4 ( const sVec4 & v );
// f = a * t + b * ( 1 - t )
void interpolate(const sCompressedVec4& a, const sCompressedVec4& b, const f32 t)
{
argb = PixelBlend32 ( b.argb, a.argb, core::floor32 ( t * 256.f ) );
}
};
Code: Select all
inline void sCompressedVec4::setVec4 ( const sVec4 & v )
{
argb = core::floor32 ( v.x * 255.f ) << 24 |
core::floor32 ( v.y * 255.f ) << 16 |
core::floor32 ( v.z * 255.f ) << 8 |
core::floor32 ( v.w * 255.f );
}
Code: Select all
void setA8R8G8B8 ( u32 argb )
{
x = ( ( argb & 0xFF000000 ) >> 24 ) * ( 1.f / 255.f );
y = ( ( argb & 0x00FF0000 ) >> 16 ) * ( 1.f / 255.f );
z = ( ( argb & 0x0000FF00 ) >> 8 ) * ( 1.f / 255.f );
w = ( ( argb & 0x000000FF ) ) * ( 1.f / 255.f );
}
void setR8G8B8 ( u32 argb )
{
r = ( ( argb & 0x00FF0000 ) >> 16 ) * ( 1.f / 255.f );
g = ( ( argb & 0x0000FF00 ) >> 8 ) * ( 1.f / 255.f );
b = ( ( argb & 0x000000FF ) ) * ( 1.f / 255.f );
}
So probably it can be it. As we have problems with colors only ..