rendered paste body#include <iostream>
#include <GL/glut.h>
#include <string>
using namespace std;
double WIDTH = 400, HEIGHT = 400;
double HMIN = -WIDTH/2, HMAX = WIDTH/2, KMIN = -HEIGHT/2, KMAX = HEIGHT/2;
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1, 0, .1);
glVertex3f(0, 100, 0);
glVertex3f(10, 10, 0);
glVertex3f(100, 0, 0);
glVertex3f(0, 1, 0);
glEnd();
glutPostRedisplay();
glutSwapBuffers();
}
void keyboard(unsigned char key, int x, int y) {
if(key=='e') {
glRotatef(10,0,0,1);
}
else if(key=='d') {
glRotatef(-10,0,0,1);
}
else if(key==27)
exit(0);
}
void special(int key, int x, int y) {
if(key==GLUT_KEY_RIGHT) {
glTranslatef(10,0,0);
}
if(key==GLUT_KEY_LEFT) {
glTranslatef(-10,0,0);
}
if(key==GLUT_KEY_UP) {
glTranslatef(0,10,0);
}
if(key==GLUT_KEY_DOWN) {
glTranslatef(0,-10,0);
}
}
int main(int argc, char** argv) {
glEnable( GL_TEXTURE_2D );
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(WIDTH, HEIGHT);
glutInitWindowPosition(100, 100);
glutCreateWindow("Keyboard Input");
glClearColor(0, 0, 0, 0);
glColor3f(1, 1, 1);
glMatrixMode(GL_MODELVIEW);
glOrtho(HMIN, HMAX, KMIN, KMAX, -1, 1);
glClear(GL_COLOR_BUFFER_BIT);
glutKeyboardFunc(keyboard);
glutSpecialFunc(special);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}