2014-03-05 34 views
0

您可以提交一个绘制基本线框球体的代码而不需要纹理。我发现了很多例子,但它们使用了3种类似于正常,纹理和顶点的缓冲区。有没有简单的综合方法来使用GL_TRIANGLE_FAN或GL_TRIANGLE_STRIP绘制一个球体,只使用顶点和片段着色器。如何在opengl中绘制线框球体

谢谢!

+0

_“你可以提交一个代码来绘制一个基本的线框球体而不会纹理化它。”_这不是StackOverflow的用途。 – Michael

回答

0
void DrawSphere(GLdouble radius, int longitudeSubdiv, int latitudeSubdiv) 
{ 
// issue corresponding GL command 
    //glPolygonMode(GL_BACK,GL_FILL); 

    //gluSphere(m_quadrObj,radius,longitudeSubdiv,latitudeSubdiv); 
    float color1[3] = {1.0,0.0,0.0}; 
    float shininess = 64.0f; 
    float specularColor[] = {1.0, 1.0f, 1.0f, 1.0f}; 
    glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess); // range 0 ~ 128 
    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specularColor); 

    glPushMatrix(); 
    glTranslatef(1,1,1);// * 
    glColor3fv(color1); 

    gluSphere(m_quadrObj,radius,longitudeSubdiv,latitudeSubdiv); 

    glPopMatrix(); 
    //glColor3fv(color2); 

}