Ejemplo n.º 1
0
Archivo: as4.cpp Proyecto: cgtz/ik
//****************************************************
// Simple init function
//****************************************************
void initScene(){
    glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
	glEnable(GL_DEPTH_TEST);
    //glEnable(GL_LIGHTING);

    glLightfv(GL_LIGHT0, GL_AMBIENT, lights[0]);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, lights[0]);
    glLightfv(GL_LIGHT0, GL_SPECULAR, lights[0]);
    GLfloat pos[] = {2000,2000,2000};
    glLightfv(GL_LIGHT0, GL_POSITION, pos);
    glEnable(GL_LIGHT0);
    glShadeModel(GL_FLAT);

	object = glGenLists(1);
    for (int i = 0; i < appendages.size(); i++) {
        test.solveFK(appendages[i],0, 0.001, 0);
    }

	glNewList(object, GL_COMPILE);

	glLineWidth(1);
	glBegin(GL_LINES);
    
    glColor3f(1, 0, 0);
	glVertex3f(0,0,0);
	glVertex3f(100,0,0);

	glColor3f(0, 1, 0);
	glVertex3f(0,0,0);
	glVertex3f(0,100,0);

	glColor3f(0, 0, 1);
	glVertex3f(0,0,0);
	glVertex3f(0,0,100);
    
    glEnd();

    glBegin(GL_LINE_STRIP);
    float t = 0.0f;
    while (t<16) {
    	Eigen::Vector3d temp = coolShapes[shape](t);
    	glVertex3f(temp[0], temp[1], temp[2]);
        t += 0.01f;
    }
    glEnd();
    if (octopus) {    
        glPushMatrix();
        glScalef(1.0f,1.0f,1.5f);
        glutSolidSphere(1, 10, 10);
        glPopMatrix();
    }

    glEndList();

	glClearColor(0.0, 0.0, 0.0, 0.0);
}