1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| int i, j;
double r=3;
int lats=20;
int longs=20;
glBindTexture(GL_TEXTURE_2D, texNames[0]);
glEnable(GL_TEXTURE_2D);
for(i = 0; i <= lats; i++) {
double lat0 = M_PI * (-0.5 + (double) (i - 1) / lats);
double z0 = sin(lat0);
double zr0 = cos(lat0);
double lat1 = M_PI * (-0.5 + (double) i / lats);
double z1 = sin(lat1);
double zr1 = cos(lat1);
glBegin(GL_QUAD_STRIP);
for(j = 0; j <= longs; j++) {
double lng = 2 * M_PI * (double) (j - 1) / longs;
double x = cos(lng);
double y = sin(lng);
glNormal3f(x * zr0, y * zr0, z0);
glTexCoord2f( ? , ? );
glVertex3f(x * zr0, y * zr0, z0);
glNormal3f(x * zr1, y * zr1, z1);
glTexCoord2f( ? , ? );
glVertex3f(x * zr1, y * zr1, z1);
}
glEnd();
}
glDisable(GL_TEXTURE_2D); |
Partager