2011-04-14 106 views
0

正如标题所说真的图纸台球桌口袋,我画只是有麻烦绘制口袋表的其余部分..使用OPENGL GLUT

#pragma region Table Drawing Code 

void drawTable() 
{ 

glBegin(GL_QUADS); // RIGHT 
glNormal3f(0,0,1); 
glColor3d(0.5,0.35,0.05); 
glVertex3f(m_TableX, 0.0f, m_TableWidth); //bottom left 
glVertex3f(m_TableLength, 0.0f, m_TableWidth);//bottom right 
glVertex3f(m_TableLength, 0.0f, m_TableWidth);//top right 
glVertex3f(m_TableX, 0.0f, m_TableWidth); //top left   
glEnd(); 

glBegin(GL_QUADS); //BACK 
glNormal3f(1,0,0); 
glColor3d(0.5,0.35,0.05); 
glVertex3f(m_TableLength, 0.0f, m_TableWidth); 
glVertex3f(m_TableLength, 0.0f, m_TableZ); 
glVertex3f(m_TableLength, 0.0f, m_TableZ); 
glVertex3f(m_TableLength, 0.0f, m_TableWidth); 
glEnd(); 

glBegin(GL_QUADS); //FRONT 
glNormal3f(-1,0,0); 
glColor3d(0.5,0.35,0.05); 
glVertex3f(m_TableX, 0.0f, m_TableZ); 
glVertex3f(m_TableX, 0.0f, m_TableWidth); 
glVertex3f(m_TableX, 0.0f, m_TableWidth); 
glVertex3f(m_TableX, 0.0f, m_TableZ); 
glEnd(); 

glBegin(GL_QUADS); //lEFT 
glNormal3f(0,0,-1); 
glColor3d(0.5,0.35,0.05); 
glVertex3f(m_TableX, 0.0f, m_TableZ); 
glVertex3f(m_TableLength, 0.0f, m_TableZ); 
glVertex3f(m_TableX, 0.0f, m_TableZ); 
glVertex3f(m_TableLength, 0.0f, m_TableZ); 
glEnd(); 

glBegin(GL_QUADS); //BOTTOM 
glNormal3f(0,-1,0); 
glColor3d(0.5,0.35,0.05); 
glVertex3f(m_TableX, -0.001f, m_TableWidth); 
glVertex3f(m_TableLength, -0.001f, m_TableWidth); 
glVertex3f(m_TableLength, -0.001f, m_TableZ); 
glVertex3f(m_TableX, -0.001f, m_TableZ); 
glEnd(); 


} 

#pragma endregion 

我是新来的OpenGL所以我不知道用什么来获得连接到垫子上的曲线和桌子上的孔,以便球落下。

+0

截图中你有什么,你期待什么,等 – genpfault 2011-04-14 18:25:48

+0

http://www.flickr.com/photos/[email protected]/5619348261/in/photostream 我是新用户,所以我无法发布截图。我希望能够得到一张表格中缺口的曲线 – 2011-04-14 18:38:25

回答

1

尝试使用gluPartialDisk画一个 “C” 形的口袋 的例如拐角

空隙磁盘() {

gluPartialDisk(gluNewQuadric(),1,1.2,10,1 ,0.0,-180); }

然后声明disk();在抽签方法