skeletal animation + light = fubar, help?

Started by
22 comments, last by drdlord 19 years, 8 months ago
I ran it on a GeForce 6800.
-dizzyGame Institute InternPlease rate me. :)
Advertisement
It's fubared on my system, too. I've a Radeon 9800 xt.
ok, so it's not just me... looks like a ati vs nvidia thing. but the sample skinned mesh works so what am I doing that ati cards hate?

*begins madly running around the room pulling his hair out*

Where am I screwing up???? GAAAAAA!!!!!!

we now return to our sane discussion currently in progress
I've had this happen several times! It's most likely that you are forgetting to normalize something, or a matrix is getting messed up somewhere. It might even be something to do with the default values of the matrix / transform.

Are you using D3DX routines to animate?
Well I've tried D3DXComputeNormals(this->MeshData.pMesh, NULL);
and m_pd3dDevice->SetRenderState( D3DRS_NORMALIZENORMALS, TRUE ); to fix the normals and it's the tiny.x from the sdk so it should work.

I don't see any matricies messing up and I've looked at least a dozen times, (doesn't mean I'm not blind though...)

The matricies are being initialized with D3DXMatrixIdentity then I'm using a LPD3DXANIMATIONCONTROLLER and setting the time.

Any ideas on what's wrong? or even what section of code to look closer at? As I said I've looked over the whole project quite a few times and I must be blind because I can't see the error. Oh well time to look again I guess... Anyone willing to look at my code and try to help me find what I'm doing wrong?
First of all, are you cloning the mesh to an FVF format that includes normals when it is loaded?
-dizzyGame Institute InternPlease rate me. :)
I didn't mean the normals of your vertices. I don't think it's possible to have normals messed up to the point that they stretch the polygons of your mesh. Pretty sure normals just determine how light bounces off of each triangle.

I meant a matrix or quaternion being normalized. When this happened to me, the polygons stretched just as your picture, but when I move the camera, they moved with it. Like certain vertices where attached to the center of the camera vector.

I think mine was because a matrix was out of range; the values of it got messed up. Even though I did several things that caused it to happen, I can't remember what they were :(
Works fine on my Radeon 9600XT also.
Are you sure this is the right project as the mesh isn't really animating? All it does is move around.
-dizzyGame Institute InternPlease rate me. :)
yzzid: I'm doing the clone if nessisary, (and debug says it isn't) the same way as the sdk sample, I tried forcing it, no luck.

what do you mean isn't animating? on mine the tiny spins slowly as it walks. (that's what it's suposed to do)

Jiia: that sounds likly but I don't see what I'm doing to cause it. The strech doesn't snap to the camera though and I'm not changing the matricies directly yet just using the LPD3DXANIMATIONCONTROLLER to animate them.

update: I tried using identity for all the matricies in the render, without light turned on it worked tiny has arms out and feet together just like a static mesh render of her. Once I turned light on though the parts that used to strech, (head, arms) disapeared... this is getting more confusing to me... I give it the matrix identity it should be in default position not invisible...
screenshot of identity problem:

with light enabled:
http://servers.lanified.wappo.net/skinning_identity.jpg

with light disabled:
http://servers.lanified.wappo.net/skinning_identity_no_light.jpg

All I'm doing is changing true vs false on light enable why is that making part of the mesh invisible. It's the standard tiny.x...

This topic is closed to new replies.

Advertisement