yannick
Legacy Member
Beste,
Ik heb even een rudimentaire fps mouselook geschreven, maar ondervindt bij zeer kleine bewegingen toch dat het niet heel vlot gaat.
Code:
Zou iemand mij een manier kunnen zeggen om de muis te "smoothen", ik mag niets anders gebruiken dan wat er standaard in c++ en openGLUT zit.
Het moet ook platform onafhankelijk zijn (GetCursorPos is niet platform onafhankelijk, maar daar zoek ik nog iets op
).
Met vriendelijke groeten
Yannick
Ik heb even een rudimentaire fps mouselook geschreven, maar ondervindt bij zeer kleine bewegingen toch dat het niet heel vlot gaat.
Code:
int main(int argc, char** argv) {
...
glutDisplayFunc(drawScene);
glutIdleFunc(updateMouse);
...
}
void drawScene() {
//Clear information from last draw
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(xrot,0,1,0);
glRotatef(yrot,1,0,0);
glTranslatef(0.0f,0.0f,0.0f);
glPushMatrix();
...
glPopMatrix();
updateMouse();
glutSwapBuffers(); //Send the 3D scene to the screen
}
void updateMouse() {
POINT ptCursorPos;
GLfloat centerX=glutGet(GLUT_WINDOW_WIDTH)/2;
GLfloat centerY=glutGet(GLUT_WINDOW_HEIGHT)/2;
//Getting cursor position under windows
GetCursorPos(&ptCursorPos);
float x=ptCursorPos.x;
float y=ptCursorPos.y;
float diffx=x-centerX;
float diffy=y-centerY;
xrot+=diffx*0.2;
yrot+=diffy*0.2;
glutWarpPointer(centerX,centerY);
glutPostRedisplay();
}
Zou iemand mij een manier kunnen zeggen om de muis te "smoothen", ik mag niets anders gebruiken dan wat er standaard in c++ en openGLUT zit.
Het moet ook platform onafhankelijk zijn (GetCursorPos is niet platform onafhankelijk, maar daar zoek ik nog iets op
).Met vriendelijke groeten
Yannick