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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| int main(int argc,char **argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowPosition(200,200);
glutInitWindowSize(1366,768);
glutCreateWindow("");
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
glPointSize(1.0);
// Light initialisation
GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0};
GLfloat light_position[] = {0.0, 0.0, 5.0, 0.0};
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
...
}
void test(){
GLfloat gray[] = {normal, normal, normal, 1.0};
GLfloat white[] = {1.0, 1.0, 1.0, 1.0};
glMaterialfv(GL_FRONT, GL_AMBIENT, white);
glMaterialfv(GL_FRONT, GL_DIFFUSE, white);
GLUquadricObj *quadObj;
// cylinder
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texObject[2]);
glPushMatrix();
glRotatef(180, 0, 1, 0);
glRotatef(90, 1, 0, 0);
quadObj = gluNewQuadric();
gluQuadricTexture(quadObj, 1);
gluQuadricNormals(quadObj, GLU_SMOOTH);
gluCylinder(quadObj, radiusHead, radiusHead, heightHead, 24, 24);
glEndList();
glPopMatrix();
glDisable(GL_TEXTURE_2D);
glMaterialfv(GL_FRONT, GL_AMBIENT, gray);
glMaterialfv(GL_FRONT, GL_DIFFUSE, gray);
// sphere
glPushMatrix();
//glColor3f(normal, normal, normal);
glutSolidSphere(radiusHead, 24, 24);
glPopMatrix();
} |
Partager