void easygl::movemouse(double x, double y){ mouse = ivec2(x, y); vec3 screen=vec3(x,viewportSize.y - y,zbuf); vec3 pos= unProject(screen,dragmodelview,projection,vec4(0,0, viewportSize.x, viewportSize.y)); glmouse = vec2(pos.x,pos.y); if(dragl && screen.z != 1) { vec2 gldiff = (gllastmouse - glmouse); movement -= glm::vec3(gldiff,0); }else{ dragmodelview = modelview; glReadPixels(x,viewportSize.y - y,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&zbuf); } gllastmouse = glmouse; lastMouse = mouse; }