예제 #1
0
void keyStateChanged(int key, int mods)
{
    switch (key) {
        case GLFW_KEY_A:
            g_armature.AdjBase(true);
            break;
        case GLFW_KEY_D:
            g_armature.AdjBase(false);
            break;
        case GLFW_KEY_W:
            g_armature.AdjUpperArm(false);
            break;
        case GLFW_KEY_S:
            g_armature.AdjUpperArm(true);
            break;
        case GLFW_KEY_R:
            g_armature.AdjLowerArm(false);
            break;
        case GLFW_KEY_F:
            g_armature.AdjLowerArm(true);
            break;
        case GLFW_KEY_T:
            g_armature.AdjWristPitch(false);
            break;
        case GLFW_KEY_G:
            g_armature.AdjWristPitch(true);
            break;
        case GLFW_KEY_Z:
            g_armature.AdjWristRoll(true);
            break;
        case GLFW_KEY_C:
            g_armature.AdjWristRoll(false);
            break;
        case GLFW_KEY_Q:
            g_armature.AdjFingerOpen(true);
            break;
        case GLFW_KEY_E:
            g_armature.AdjFingerOpen(false);
            break;
        case GLFW_KEY_ENTER:
            g_armature.WritePose();
            break;
    }
}
//Called whenever a key on the keyboard was pressed.
//The key is given by the ''key'' parameter, which is in ASCII.
//It's often a good idea to have the escape key (ASCII value 27) call glutLeaveMainLoop() to 
//exit the program.
void keyboard(unsigned char key, int x, int y)
{
	switch (key)
	{
	case 27:
		glutLeaveMainLoop();
		return;
	case 'a': g_armature.AdjBase(true); break;
	case 'd': g_armature.AdjBase(false); break;
	case 'w': g_armature.AdjUpperArm(false); break;
	case 's': g_armature.AdjUpperArm(true); break;
	case 'r': g_armature.AdjLowerArm(false); break;
	case 'f': g_armature.AdjLowerArm(true); break;
	case 't': g_armature.AdjWristPitch(false); break;
	case 'g': g_armature.AdjWristPitch(true); break;
	case 'z': g_armature.AdjWristRoll(true); break;
	case 'c': g_armature.AdjWristRoll(false); break;
	case 'q': g_armature.AdjFingerOpen(true); break;
	case 'e': g_armature.AdjFingerOpen(false); break;
	case 32: g_armature.WritePose(); break;
	}
}