White specks... ?

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
GameCreator
Posts: 22
Joined: Wed Jun 08, 2005 2:44 pm

White specks... ?

Post by GameCreator »

So, after hours of searching and playing with settings, I finally got my DirectX mesh animating into a modified example program. Yay! And it's beautiful, except that there are these mysterious white specks in places. :?

Image

More than that, while the arm waves, that one leftmost speck moves back and forth. Does anyone have any idea what those are a result of and how I can get rid of them? (When I rotate the mesh the specks rotate as well.)

As possible helpful background, I exported a Max 9 bipeded/physiqued mesh and saved it with the DirectX viewer. If anyone needs more details, I'd be happy to supply it. I even have a screenshot of all of my Pandasoft settings, if that helps anyone, though in the DirectX viewer it looked fine (except that the bones were visible).

Thanks in advance for any help/suggestions!
Catprog
Posts: 164
Joined: Wed Jan 31, 2007 9:07 am
Contact:

Post by Catprog »

Have you tried seting setDebugDataVisible to false?

Model is a IMeshSceneNode

Code: Select all

	Model->setDebugDataVisible(false);
GameCreator
Posts: 22
Joined: Wed Jun 08, 2005 2:44 pm

Post by GameCreator »

I just tried it but no luck.
I thought I'd throw the code in here as well at this point. (It's 99% from the example.)

Code: Select all

int main()
{
	IrrlichtDevice *device =
		createDevice( video::EDT_DIRECT3D9, dimension2d<s32>(640, 480), 16,
			false, false, false, 0);

	device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");

	IVideoDriver* driver = device->getVideoDriver();
	ISceneManager* smgr = device->getSceneManager();
	IGUIEnvironment* guienv = device->getGUIEnvironment();

	guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
		rect<int>(10,10,260,22), true);

	IAnimatedMesh* mesh = smgr->getMesh("panda2dx.x");
	IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
	node->setDebugDataVisible(false);
	node->setAnimationSpeed(2000);

	node->setMaterialFlag(EMF_LIGHTING, false);

	smgr->addCameraSceneNode(0, vector3df(-10,250,-150), vector3df(0,105,0));

	while(device->run())
	{
		driver->beginScene(true, true, SColor(255,100,101,140));

		smgr->drawAll();
		guienv->drawAll();

		driver->endScene();
	}

	device->drop();
	return 0;
}
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

No, I think this depands on your mesh...
Maybe you could make a download for the mesh, so we can check this ???
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
GameCreator
Posts: 22
Joined: Wed Jun 08, 2005 2:44 pm

Post by GameCreator »

Definitely.

direct link
or
site with link on it (in case direct doesn't work)

The file includes:
IrrlichtXFileTest06AnimatingRenamed.max
texture.bmp
panda2.x (exported from Max)
panda2dx.x (saved from DirectX viewer - this is the one loaded by the program)
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

Post by bitplane »

looks like a bug in the importer, large sections of the mesh are missing.
thanks for posting your mesh.

Image

moving to bug reports
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
Strong99
Admin
Posts: 687
Joined: Fri Mar 31, 2006 7:06 pm
Location: Netherlands
Contact:

Post by Strong99 »

those parts doesn't seem to have any kind of material on them... so the x importer does't show them.
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

Well, it seems that it's a fault by the exporter (maybe together with the importer)...

If I load the mesh into Milkshape it's OK (unfortunately the animations are not imported to Milkshape from an x file):
Image

If I re-export it from Milkshape to DX8 it's also OK in Irrlicht (but no colored faces, only textured and without animations, but that's normal):
Image
So Milkshape has no problems with importing the geometry and it exports it correct for Irrlicht !?!?! :shock:
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
GameCreator
Posts: 22
Joined: Wed Jun 08, 2005 2:44 pm

Post by GameCreator »

bitplane and strong99, the "large sections of the mesh" I'm guessing you're talking about are the bones. I specifically don't want those displayed so that's perfect but I believe they're supposed to be exported from Max so I did. (Otherwise it gave me errors and didn't even animate in Irrlicht.)

DirectX mesh view displays and animates it perfectly, except that it shows the bones, but it has no specks.

Here are my Pandasoft Max .X export settings. They were taken from another thread and seemed to be the only combination that got animation to work correctly in Irrlicht.

Image

Thanks all for taking a look. Much appreciated.
Any other ideas? I'm worried that once I actually make more complex characters that are heavily animated that there will be more specks and they will animate more. Also, I didn't say this before: I'm using the latest Irrlicht version.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

When I export from Max I collapse the stack (if needed) and hide stuff I don't want exported.
GameCreator
Posts: 22
Joined: Wed Jun 08, 2005 2:44 pm

Post by GameCreator »

sio2, thank you!! You solved my problem indirectly, I think.
The problem was that I didn't hide the biped. I'm pretty sure it still exported them (otherwise, when I uncheck that export option, it doesn't animate) but hiding the biped got rid of the white specks. It also doesn't show up in the DirectX meshview any more with the mesh.

Thank you to all who participated in this thread. I'm sure Irrlicht could still deal with this issue better but I've found a solution. I'm tempted to write a tutorial for everyone as in my search I saw a lot of threads of people asking how to do this. :D
Post Reply