All pastes #2057575 Raw Edit

opengl instances

public cpp v1 · immutable
#2057575 ·published 2011-05-12 20:21 UTC
rendered paste body
void ExerciseN_ABXY::keyPressed(unsigned char key){    AbstractExercise::keyPressed(key);    m_key = key;        switch (m_key) {        case '1':            printf("Rasterizing polygon A\n");						 			glRotatef(0.4f,0.0f,0.0f,1.0f);			glCallList(2);			             break;        case '2':           		 			glTranslatef(0.0f, -10.0f,0.0f);			glCallList(2);		             break;        case '3':           glRotatef(45, 0.0f,0.0f,10);			glCallList(1);            break;        case '4':            	glTranslatef(-10.0f,  0.0f,0.0f);			glCallList(2);            break;        case '6':             	glTranslatef(+10.0f,  0.0f,0.0f);			glCallList(2);            break;			case '7':				glRotatef(45, 0.0f,0.0f,10);             	glScalef(0.9f,  1,0.0f);			glCallList(1);            break;        case '8':             	glTranslatef(0.0f,  10.0f,0.0f);			glCallList(2);            break;			case '9':             	glScalef(1.2f,  1.2f,0.0f);			glCallList(2);            break;        default:            printf("Key %c (%d) not assigned!\n", m_key, m_key);            break;    }} void ExerciseN_ABXY::init(){	float orthogonalMatrix[16] = {2/ 800,0,0,  1,								  0,2/ 600,0,1,								  0,0, -2 / 1  ,  1,								  0,0,0, 1};	    glMatrixMode(GL_PROJECTION);    glLoadIdentity();   //glLoadMatrixf(orthogonalMatrix);	glOrtho(0,800,0,600,0,1);	glMatrixMode(GL_MODELVIEW); 	 glNewList(1, GL_COMPILE);		 	glBegin(GL_TRIANGLE_FAN );		int rad = 200;	float angle = 2* PI / 8;	 float x = 0;	 float y = 0;		for(int i = 0 ; i <8; i++){		glColor3f(1.0f - (i * 0.1f) ,0.19f,0.10f + (i * 0.11f) );		glVertex2d( sinf(i * angle)*rad, cosf(i * angle) * rad );	 	}	glEnd();	glEndList();		glNewList(2, GL_COMPILE);	rad = 150;	for (int j = 0; j < 8; j ++){	glPushMatrix();	glTranslatef(sinf(j * angle) * rad  , cosf(j * angle) * rad  , 0.0f);	glScalef(0.3f,0.3f,0.0f);	glRotatef(j*j*10.0f, 0.0f, 0.0f, 1.0f); 	glCallList(1); 	 	glPopMatrix(); 	} glEndList();	 glTranslatef(300,300,0.0f); glCallList(2);}void ExerciseN_ABXY::paint(){		glCallList(2);}