请问大家谁有读取MilkShape3D骨骼动画的代码?
最好是OpenGL的
我这里有个Delphi的代码,看不懂谁能帮我翻译下?
感激不尽!!
请问大家谁有读取MilkShape3D骨骼动画的代码?
最好是OpenGL的
我这里有个Delphi的代码,看不懂谁能帮我翻译下?
感激不尽!!
编译出错:
--------------------Configuration: MeshConv - Win32 Release--------------------
Compiling resources...
Compiling...
WinMain.cpp
Linking...
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixMultiply@12
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixTranslation@16
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixInverse@12
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationZ@8
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationY@8
WinMain.obj : error LNK2001: unresolved external symbol _D3DXMatrixRotationX@8
Release/MeshConv.exe : fatal error LNK1120: 6 unresolved externals
执行 link.exe 时出错.
MeshConv.exe - 1 error(s), 0 warning(s)
我自己写了个3D顶点旋转的代码,但是旋转后模型会变形啊??
void C3DEng::Rotate(float p0[],float p1[],float angle,float p[])
{
float lx=p0[0]-p1[0];
float ly=p0[1]-p1[1];
float r=sqrt(lx*lx+ly*ly);
float a=asin(lx/r);
float xoff=sin(a+angle)*r;
float yoff=cos(a+angle)*r;
p[0]=(p0[0]-xoff);
p[1]=(p0[1]-yoff);
}
void C3DEng::Rotate3D(float p0[],float p1[],float angle[],float p[])
{
float tmp_p1[3];
tmp_p1[0]=p1[0];
tmp_p1[1]=p1[1];
tmp_p1[2]=p1[2];
float t_p0[2],t_p1[2],t_ret[2];
t_p0[0]=p0[0];
t_p0[1]=p0[1];
t_p1[0]=tmp_p1[0];
t_p1[1]=tmp_p1[1];
Rotate(t_p0,t_p1,angle[0],t_ret);
tmp_p1[0]=t_ret[0];
tmp_p1[1]=t_ret[1];
t_p0[0]=p0[1];
t_p0[1]=p0[2];
t_p1[0]=tmp_p1[1];
t_p1[1]=tmp_p1[2];
Rotate(t_p0,t_p1,angle[1],t_ret);
tmp_p1[1]=t_ret[0];
tmp_p1[2]=t_ret[1];
t_p0[0]=p0[0];
t_p0[1]=p0[2];
t_p1[0]=tmp_p1[0];
t_p1[1]=tmp_p1[2];
Rotate(t_p0,t_p1,angle[2],t_ret);
tmp_p1[0]=t_ret[0];
tmp_p1[2]=t_ret[1];
p[0]=tmp_p1[0];
p[1]=tmp_p1[1];
p[2]=tmp_p1[2];
}