void TransferTabController::initTargetSide() { Mat m; double c_x, c_y; Utility::grabThumbnailForVideo(targetFile.toStdString(),m); targetFrames.push_back(m.clone()); targetLabel->setPixmap(Utility::mat2QPixmap(m)); c_x = m.size().width / 2.; c_y = m.size().height / 2.; targetLabel->show(); capTarget = new VideoCapture(targetFile.toStdString()); cameraTarget = Mat_<double>(3,3); cameraTarget(0,0) = 900; cameraTarget(0,1) = 0; cameraTarget(0,2) = c_x; cameraTarget(1,0) = 0; cameraTarget(1,1) = 900; cameraTarget(1,2) = c_y; cameraTarget(2,0) = 0; cameraTarget(2,1) = 0; cameraTarget(2,2) = 1; targetFinished = false; }
void render( void ) { glClear( GL_COLOR_BUFFER_BIT ); static float scale = 0.0f; scale += 0.1f; Matrix matrix; matrix.rotate( 0.0f , scale , 0.0f ); matrix.worldPosition( 0.0f , 0.0f , 5.0f ); math::Vec3f cameraPosition( 0.0f , 0.0f , -3.0f ); math::Vec3f cameraTarget( 0.0f , 0.0f , 2.0f ); math::Vec3f cameraUp( 0.0f , 1.0f , 0.0f ); matrix.setCamera( cameraPosition , cameraTarget , cameraUp ); matrix.perspeciveProjection( 60.0f , WINDOW_WIDTH , WINDOW_HEIGHT , 1.0f , 100.0f ); glUniformMatrix4fv( worldLocation , 1 , GL_TRUE , ( const GLfloat* ) matrix.getTranslation() ); glEnableVertexAttribArray( 0 ); glBindBuffer( GL_ARRAY_BUFFER , vertexBufferID ); glVertexAttribPointer( 0 , 3 , GL_FLOAT , GL_FALSE , 0 , 0 ); glBindBuffer( GL_ELEMENT_ARRAY_BUFFER , indexBufferID ); glDrawElements( GL_TRIANGLES , 12 , GL_UNSIGNED_INT , 0 ); glDisableVertexAttribArray( 0 ); glutSwapBuffers(); }
void Window::mvpSetup() { //Setting up MVP matrix mat4 model = mat4(1.0f); //model = glm::scale(model, vec3(0.5, 0.5f, 0.5f)); //model = glm::translate(model, vec3(-1.0f, -1.0f, 0.0f)); mat4 view; vec3 cameraPos(0.0f, 0.0f, 1.0f); vec3 cameraTarget(0.0f, 0.0f, 0.0f); vec3 up(0.0f, 1.0f, 0.0f); view = glm::lookAt(cameraPos, cameraTarget, up); mat4 projection = glm::ortho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f); //mat4 projection = glm::perspective(45.0f, 1.0f, 0.1f, 10.0f); mvp = projection * view * model; if (hapticsEnabled) { haptic.setModelviewMatrix(view * model); haptic.setProjectionMatrix(projection); } }
void doMovement(CViewPoint* camera){ GLfloat currentFrame = (GLfloat)glfwGetTime(); deltaTime = currentFrame - lastFrame; lastFrame = currentFrame; GLfloat cameraSpeed = defaultCameraSpeed*deltaTime; if(!moved) { camera->rotate(glm::vec3(xoffset,yoffset,0)); moved = true; } glm::vec3 eulers = camera->getEulers(); glm::vec3 cameraTarget(-glm::sin(eulers.x)*glm::cos(eulers.y), 0, glm::cos(eulers.x)*glm::cos(eulers.y)); glm::vec3 cameraUp(0,1,0); if (keys[GLFW_MOUSE_BUTTON_2]) { camera->move (cameraTarget*cameraSpeed); } }