用CLoad3DS类导入3ds文件,为什么只能看见线条,看不见贴图

elesyseng2 2013-06-07 05:10:57
用CLoad3DS类导入3ds文件,为什么只能看见线条,看不见贴图
BOOL CSDI_Load3DSDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
::SetCursor(::LoadCursor(NULL,IDC_WAIT));
/*
if((m_Real3DS=Load3DSObject((char*)lpszPathName))==NULL){
char buf[256];
sprintf(buf,"Can't parse %s!",lpszPathName);
AfxMessageBox(buf);
}
*/
m_3ds=new CLoad3DS();
m_3ds->Init((char*)lpszPathName,0);
g_IsOpen3DSFile=TRUE;
//glEnable(GL_TEXTURE_2D);
::SetCursor(::LoadCursor(NULL,IDC_ARROW));
return TRUE;
}

void CSDI_Load3DSView::DrawWithOpenGL()
{
CSDI_Load3DSDoc *pDoc = GetDocument();
ASSERT(pDoc);

// 清除背景
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(m_ClearColorRed,m_ClearColorGreen,m_ClearColorBlue,1.0f);
glPushMatrix();
// 缩放、平移、旋转变换
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(m_xScaling,m_yScaling,m_zScaling);
glTranslatef(m_xTranslation,m_yTranslation,m_zTranslation);
glRotatef(m_xRotation,1.0f,0.0f,0.0f);
glRotatef(m_yRotation,0.0f,1.0f,0.0f);
if(g_IsOpen3DSFile)
{
pDoc->m_3ds->show3ds(0,0,0,0,1,1);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, 1.0f, 1.0f, 128.0);
glPopMatrix();
/*
if(g_IsOpen3DSFile)
{
pDoc->m_3ds->show3ds(0,0,0,0,1,2);
}
*/
}
...全文
54 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧