"给了面上顶点 用glBegin(GL_QUAD_STRIP)画球" 这是不可能的,没有那个工具会给你4边形的顶点
vc下画球直接用glu函数画二次曲面,GLUquadricObj* quadratic=gluNewQuadric();
gluSphere(quadratic,1,32,32);用场景文件画场景一般是这个样子先设置环境光、自发光这两个关键光照
static GLfloat arrvertex[9];
static GLfloat arrtexture[9];
glDisableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDisable(GL_BLEND);
for(三角形个数){
这里对每个顶点坐标和纹理坐标赋值
glTexCoordPointer(3, GL_FLOAT, 0, arrtexture);
glVertexPointer(3, GL_FLOAT, 0, arrvertex);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 3);
}或是自己预先把顶点序整理好,但这种方法比较复杂,困难在于要为每个子材质单独预计算一套顶点
你的代码好像是想要自己算出球来,即便算法很容易,也不应这样做,因为没法子贴图,何况一般物体都比球复杂。