您可以提交一个代码绘制一个基本的线框球体没有纹理它。我找到了很多例子,但它们使用了3种缓冲区,如法线,纹理和顶点。是否有任何简单的综合方法来绘制一个球体使用GL_TRIANGLE_FAN或GL_TRIANGLE_STRIP,只使用顶点和碎片着色器。
谢谢!
发布于 2014-06-08 06:14:01
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);
}
https://stackoverflow.com/questions/22192690
复制