⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 ertyuiopuygfvc bnm,kjhbgyuisdcs
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            glPushMatrix();
            {
                glScalef (0.4, 2.0, 1.0);
                glutSolidCube (1.0);
            }
            glPopMatrix();

          // sepatu
            glTranslatef (0, -0.35, 0.0);
            glColor3f(1,0,0);
            glTranslatef (0, -0.35, 0.0);
            glPushMatrix();
            {
                glScalef (0.5, 0.4, 1.5);
                glutSolidCube (1.0);     //
            }
            glPopMatrix();


        }
        glPopMatrix();




    }
    glPopMatrix();





    glutFullScreen();
    glutSwapBuffers();
}
void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();

gluPerspective(65.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef (0.0, 0.0, -5.0);
}
void keyboard (unsigned char key, int x, int y)
{
switch (key) {


    //pengaturan tombol keyboard//

    //kepala//
    case 'e':
        geleng =(geleng-5)%360;
        glutPostRedisplay();
    break;

    case 'E':
        geleng =(geleng+5)%360;
        glutPostRedisplay();
    break;

    case 'r':
        angguk =(angguk-5)%360;
        glutPostRedisplay();
    break;

    case 'R':
        angguk =(angguk+5)%360;
        glutPostRedisplay();
    break;

    //tangan//

    case 'd': //tanganKiriAtas1
        tanganKiriAtas1 = (tanganKiriAtas1 + 5) % 360;
        glutPostRedisplay();
    break;

    case 'D':
        tanganKiriAtas1 = (tanganKiriAtas1 - 5) % 360;
        glutPostRedisplay();
    break;

    case 'f'://tanganKanan1
        tanganKananAtas1 = (tanganKananAtas1 + 5) % 360;
        glutPostRedisplay();
    break;

    case 'F':
        tanganKananAtas1 = (tanganKananAtas1 - 5) % 360;
        glutPostRedisplay();
    break;


    case 's': //tanganKiriAtas2
        tanganKiriAtas2 = (tanganKiriAtas2 + 5) % 360;
        glutPostRedisplay();
    break;

    case 'S':
        tanganKiriAtas2 = (tanganKiriAtas2 - 5) % 360;
        glutPostRedisplay();
    break;

    case 'g'://tanganKananatas2
        tanganKananAtas2 = (tanganKananAtas2 + 5) % 360;
        glutPostRedisplay();
    break;

    case 'G':
        tanganKananAtas2 = (tanganKananAtas2 - 5) % 360;
        glutPostRedisplay();
    break;


    case 'a': //tanganKiriBAwah
        if (tanganKiriBawah > -170 && tanganKiriBawah<1)
        {
        tanganKiriBawah = (tanganKiriBawah - 5) % 360;
        glutPostRedisplay();
        }
        else
        {
            if (tanganKiriBawah < -170)
            {
              tanganKiriBawah=(tanganKiriBawah + 5) % 360;
            }
            else
            {
                 tanganKiriBawah=(tanganKiriBawah - 5) % 360;
            }

            glutPostRedisplay();
        }
    break;

    case 'A':
    if (tanganKiriBawah > -170 && tanganKiriBawah<1)
        {
        tanganKiriBawah = (tanganKiriBawah + 5) % 360;
        glutPostRedisplay();
        }
        else
        {
            if (tanganKiriBawah < -170)
            {
              tanganKiriBawah=(tanganKiriBawah + 5) % 360;
            }
            else
            {
                 tanganKiriBawah=(tanganKiriBawah - 5) % 360;
            }

            glutPostRedisplay();
        }
    break;

    case 'h'://tanganKananBawah
        tanganKananBawah = (tanganKananBawah + 5) % 360;
        glutPostRedisplay();
    break;

    case 'H':
        tanganKananBawah = (tanganKananBawah - 5) % 360;
        glutPostRedisplay();
    break;


    //kaki //
    case 'x': // kaki kiri atas //
        kakiKiriAtas =(kakiKiriAtas-5)%360;
        glutPostRedisplay();
    break;

    case 'X':
        kakiKiriAtas =(kakiKiriAtas+5)%360;
        glutPostRedisplay();
    break;

     case 'c':// kaki kanan atas //
        kakiKananAtas =(kakiKananAtas-5)%360;
        glutPostRedisplay();
    break;

     case 'C':
        kakiKananAtas =(kakiKananAtas+5)%360;
        glutPostRedisplay();
    break;

    case 'z': // kaki kiri bawah //
        kakiKiriBawah =(kakiKiriBawah-5)%360;
        glutPostRedisplay();
    break;

    case 'Z':
        kakiKiriBawah =(kakiKiriBawah+5)%360;
        glutPostRedisplay();
    break;

     case 'v':// kaki kanan bawah //
        kakiKananBawah =(kakiKananBawah-5)%360;
        glutPostRedisplay();
    break;

     case 'V':
        kakiKananAtas =(kakiKananBawah+5)%360;
        glutPostRedisplay();
    break;

   // gerak semua badan//
    case 'm':
        putarSemua1 =(putarSemua1+5)%360;
        glutPostRedisplay();
    break;

    case 'M':
        putarSemua1 =(putarSemua1-5)%360;
        glutPostRedisplay();
    break;

    case 'n':
        putarSemua3 =(putarSemua3+5)%360;
        glutPostRedisplay();
    break;

    case 'N':
        putarSemua3 =(putarSemua3-5)%360;
        glutPostRedisplay();
    break;

    case 'b':
        putarSemua2 =(putarSemua2+5)%360;
        glutPostRedisplay();
    break;

    case 'B':
        putarSemua2 =(putarSemua2-5)%360;
        glutPostRedisplay();
    break;



    case 27:
    case 'q':
        exit(0); //keluar
    break;


default:
break;
}
}

const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };

int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
//glutCreateMenu(world_menu);
//glutAddMenuEntry("Models", 0);


glClearColor(1,1,1,1);
    glEnable(GL_CULL_FACE);
    glCullFace(GL_BACK);

glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);

    glLightfv(GL_LIGHT0, GL_AMBIENT,  light_ambient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE,  light_diffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
    glLightfv(GL_LIGHT0, GL_POSITION, light_position);

    glMaterialfv(GL_FRONT, GL_AMBIENT,   mat_ambient);
    glMaterialfv(GL_FRONT, GL_DIFFUSE,   mat_diffuse);
    glMaterialfv(GL_FRONT, GL_SPECULAR,  mat_specular);
    glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);



glutMainLoop();

return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -