|
|
请教各位大虾一个问题:
我写了个3DSMAX脚本用来导出模型(轴放置在模型中心) 并且把Y和Z轴互换(使用的是local坐标)。导出后怎么感觉轴还在模型底部中心(茶壶底部中心)?
-- 导出脚本(3DSMax 9)
-- 导出顶点
for i=1 to obj.numverts do
(
vp = (in coordsys local(meshOp.getVert obj i))
WriteFloat fs vp.x;
WriteFloat fs vp.z;
WriteFloat fs vp.y;
)
--导出索引
for i=1 to obj.numfaces do
(
f = getFace obj i
WriteLong fs (f.x - 1)
WriteLong fs (f.y - 1)
WriteLong fs (f.z - 1)
)
//绘制 - VS2005
void Renderer_OpenGL: resent(void)
{
ASSERT_FATAL(rc_ != null, "Invalid call.");
ASSERT_FATAL(dc_ != null, "Invalid call.");
static GLfloat angle = 0;
angle += 0.2f;
::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
::glLoadIdentity();
// draw here
::glTranslated(0, 0, -5);
::glColor3f(0, 0, 1);
//画一个Y=0的平面
::glBegin(GL_TRIANGLES);
::glVertex3f(-10, 0, 10);
::glVertex3f(-10, 0, -10);
::glVertex3f(10, 0, -10);
::glVertex3f(10, 0, -10);
::glVertex3f(-10, 0, 10);
::glVertex3f(10, 0, 10);
::glEnd();
::glLoadIdentity();
::glTranslated(0, 0, -5);
::glScaled(0.1, 0.1, 0.1);
::glRotatef(angle, 0, 0, 1);
m.Draw(); //渲染模型
::glFlush();
::SwapBuffers(dc_);
}
问题是在导出模型前我已经把轴放到模型中心啦~但是结果好像跟改变轴前一样 [em7] [em11] |
|