我要发帖 回复

新手上路

1

主题

17

积分

0

专家分

:

私信
发表时间 : 2007-10-10 14:42:53 | 浏览 : 1474    评论 : 1
我想把一个球体用两个平面切割后和另一个完整球体放到一起,请问该怎么操作呢?我写了代码,可是结果是那两个平面把两个球都给切了。
请教高手帮我看看。先谢谢了。
GLuint startList;
GLUquadricObj *qobj1,*qobj2;
startList = glGenLists(2);
qobj1 = gluNewQuadric();
qobj2 = gluNewQuadric();

gluQuadricDrawStyle(qobj1, GLU_FILL);
gluQuadricNormals(qobj1, GLU_SMOOTH);
glNewList(startList, GL_COMPILE);
glClipPlane (GL_CLIP_PLANE0, eqn1);
glEnable (GL_CLIP_PLANE0);
glClipPlane(GL_CLIP_PLANE1, eqn2);
glEnable(GL_CLIP_PLANE1);
gluSphere(qobj1, 6, 30, 30);
glEndList();

glPushMatrix();
glCallList(startList);
glPopMatrix();

gluQuadricDrawStyle(qobj2, GLU_FILL);   
gluQuadricNormals(qobj2, GLU_SMOOTH);
glNewList(startList+1, GL_COMPILE);
gluSphere(qobj2, 3,30,30);
glEndList();
glEnable(GL_LIGHTING);
glShadeModel (GL_SMOOTH);

glPushMatrix();
glCallList(startList+1);
glPopMatrix();

SwapBuffers(m_hDC);
Invalidate(FALSE);

最近VR访客

isuen 评论于2007-10-10 15:56:50
问题已解决,问题在于使用完切割平面后没有关闭
glDisable(GL_CLIP_PLANE0);
glDisable(GL_CLIP_PLANE1);
加入了以后,就好了。

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-10-26 12:03 AM

返回顶部