Hey all,
I am creating my first project with IrrLicht. I am quite pleased with it. But it seems I found a bug: Billboards are drawn upside down!
To reproduce:
In the special effects example, a billboards is attached to the light. When I mark the upper part of the image of the billboard with some color, it appears on the bottomside in the example.
Is this a know problem or feature?
Billboards are upside down
Niko - I know you really don't like making promises (that may cause you headaches) but have you got a rough estimate of the next release, because I am planning a game release of my own within the next month (6 weeks max) and would LOVE to have the new version in case it has sorted a lot of little problems I have. My3d from archives is one as you know (I hope beyond all hope you have been able to fix this, it is far more important to me than you realise), alt/tab problems on OGL (back buffer seems to stay displayed on desktop), aniso filtering (this isn't that important as I have my own solution in D3D working but it may not be as robust as your code).. well many small bits that I am sure you have worked on.
Maybe a sub-release 0.12.1 or something if you have any of those issues fixed and the 13 version will be more than a month or so.
Thanks again for the great work.
Maybe a sub-release 0.12.1 or something if you have any of those issues fixed and the 13 version will be more than a month or so.
Thanks again for the great work.
You may just edit CbillboardSceneNode.CPP and recompile it.
under constructor place this, works fine with me. since im
using billboard for my main character.
// ORIGINAL
//
//vertices[0].TCoords.set(0.0f, 0.0f);
//vertices[0].Color = 0xffffffff;
//vertices[1].TCoords.set(0.0f, 1.0f);
//vertices[1].Color = 0xffffffff;
//vertices[2].TCoords.set(1.0f, 1.0f);
//vertices[2].Color = 0xffffffff;
//vertices[3].TCoords.set(1.0f, 0.0f);
//vertices[3].Color = 0xffffffff;
// PATCH
//
vertices[2].TCoords.set(0.0f, 0.0f);
vertices[2].Color = 0xffffffff;
vertices[3].TCoords.set(0.0f, 1.0f);
vertices[3].Color = 0xffffffff;
vertices[0].TCoords.set(1.0f, 1.0f);
vertices[0].Color = 0xffffffff;
vertices[1].TCoords.set(1.0f, 0.0f);
vertices[1].Color = 0xffffffff;
under constructor place this, works fine with me. since im
using billboard for my main character.
// ORIGINAL
//
//vertices[0].TCoords.set(0.0f, 0.0f);
//vertices[0].Color = 0xffffffff;
//vertices[1].TCoords.set(0.0f, 1.0f);
//vertices[1].Color = 0xffffffff;
//vertices[2].TCoords.set(1.0f, 1.0f);
//vertices[2].Color = 0xffffffff;
//vertices[3].TCoords.set(1.0f, 0.0f);
//vertices[3].Color = 0xffffffff;
// PATCH
//
vertices[2].TCoords.set(0.0f, 0.0f);
vertices[2].Color = 0xffffffff;
vertices[3].TCoords.set(0.0f, 1.0f);
vertices[3].Color = 0xffffffff;
vertices[0].TCoords.set(1.0f, 1.0f);
vertices[0].Color = 0xffffffff;
vertices[1].TCoords.set(1.0f, 0.0f);
vertices[1].Color = 0xffffffff;
CuteAlien directed me to
http://irrlicht.sourceforge.net/phpBB2/ ... php?t=5605
I am looking into to see if it fixes my problem. More info coming.
http://irrlicht.sourceforge.net/phpBB2/ ... php?t=5605
I am looking into to see if it fixes my problem. More info coming.
[SOLVED] Upside down particles
The previous link does fix some things. The emitter than emits based on the rotation of the parent, correctly. But the textures are still upside down.
HOW TO FIX UPSIDE DOWN Particles.
IN void CParticleSystemSceneNode::reallocateBuffers()
replace
Vertices[0+i].TCoords.set(0.0f, 0.0f);
Vertices[1+i].TCoords.set(0.0f, 1.0f);
Vertices[2+i].TCoords.set(1.0f, 1.0f);
Vertices[3+i].TCoords.set(1.0f, 0.0f);
with
Vertices[0+i].TCoords.set(1.0f, 1.0f);
Vertices[1+i].TCoords.set(1.0f, 0.0f);
Vertices[2+i].TCoords.set(0.0f, 0.0f);
Vertices[3+i].TCoords.set(0.0f, 1.0f);
HOW TO FIX UPSIDE DOWN Particles.
IN void CParticleSystemSceneNode::reallocateBuffers()
replace
Vertices[0+i].TCoords.set(0.0f, 0.0f);
Vertices[1+i].TCoords.set(0.0f, 1.0f);
Vertices[2+i].TCoords.set(1.0f, 1.0f);
Vertices[3+i].TCoords.set(1.0f, 0.0f);
with
Vertices[0+i].TCoords.set(1.0f, 1.0f);
Vertices[1+i].TCoords.set(1.0f, 0.0f);
Vertices[2+i].TCoords.set(0.0f, 0.0f);
Vertices[3+i].TCoords.set(0.0f, 1.0f);