void keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods){ if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS){ glfwSetWindowShouldClose(window, GL_TRUE); } else{ switch(key){ case GLFW_KEY_A: renderCam->positions[0].x += (float)CAM_MOVE; cameraReset(); break; case GLFW_KEY_D: renderCam->positions[0].x -= (float)CAM_MOVE; cameraReset(); break; case GLFW_KEY_W: renderCam->positions[0].y += (float)CAM_MOVE; cameraReset(); break; case GLFW_KEY_S: renderCam->positions[0].y -= (float)CAM_MOVE; cameraReset(); break; case GLFW_KEY_Q: //zoom in renderCam->positions[0].z -= (float)CAM_MOVE; cameraReset(); break; case GLFW_KEY_E: //zoom out renderCam->positions[0].z += (float)CAM_MOVE; cameraReset(); break; default: break; } } }
static int readCamera(moveContext *context) { int ret; ret = cameraReadEx (0, &context->camRead); switch (ret) { case CAMERA_ERRO_NEED_START: cameraReset (0); ret = gemPrepareCamera (128, 0.5); printf ("GemPrepareCamera return %d exposure set to 128 and quality to 0.5 before cameraStart\n", ret); printf ("lets go!! It's time to look your face in Sony Bravia :P\n"); ret = cameraStart (0); printf ("cameraStart return %d \n", ret); printf ("*******************************************\n"); printf ("* Now make sure you have a Move connected\n"); printf ("* and point it towards the camera and press\n"); printf ("* the action button to calibrate\n"); printf ("*******************************************\n"); break; case 0: break; default: printf ("error %08X ", ret); ret = 1; break; } // printf("despues de start return %d \n",ret); if (ret == 0 && context->camRead.readcount != 0) { return context->camRead.readcount; } else { return 0; } }