0

マウスでカメラを回転させようとしています。移動は問題ありませんが、1 か所に保管する必要があります。glutWarpPointer() を試してみましたが、プログラムの速度が大幅に低下します。何かのエンジンを作成しようとしていますが、使用したりアドオンを追加したりしたくありません。

int diff = x - oldx;
oldx = x; rx += diff;
if (rx > 360) 
    rx = 0; 

if (rx < 0) 
    rx = 360; 

NSLog(@"%f",rx);
back = YES; 
glutWarpPointer(0, 0); 
glutPostRedisplay();
4

2 に答える 2

0

GLUT からステップアウトする必要がありますがCGAssociateMouseAndMouseCursorPosition(false);、マウスの動きによってカーソルが移動しないようにするために使用できます (イベントで報告されるビジュアル カーソルも絶対位置も移動しません)。後続のマウス イベントの絶対位置は変更されませんが、移動を提供するために適切なデルタが含まれます。これらのデルタが GLUT からアクセスできるかどうかはわかりません。

于 2012-05-30T01:00:48.793 に答える
0

glutWarpPointerOS X ではかなり高速なはずです。あなたのプログラムのどこでそれを呼んでいますか?

強制的glutPassiveMotionFuncに呼び出されることもありますので、注意してください。

于 2012-05-29T19:49:18.993 に答える