強火で進め

このブログではプログラム関連の記事を中心に書いてます。

OpenGLで回転の向きがおかしいときはNearプレーンの設定を疑え

OpenGLで glRotatef() や glRotated() などの回転のコマンドを実行した場合、右ねじの向き(反時計回り)に回転します。

あるときに作成したプログラムでZ軸の回転だけは正しい向きに回転するけど、X軸、Y軸については回転方向が逆になると言う事がありました。色々チェックし、正しく動作しているものと見比べて違いを探したところNearプレーンの設定が異なるっていることを見つけました。

具体的にはこのようにNearプレーンの設定が 0.0 でした。

gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 0.0, 5.0);

ここは 0.1 とかでも良いので「設定値 > 0.0」にしないといけない様です。