OpenGL を使用して Haskell でマウス リスナーを使用しようとしていますが、問題が発生しました。どうやら、x 座標と y 座標の戻り値は GLint です。問題は、GLfloat が必要なため、これらを使用することです。単純な解析では問題が解決しないようです。より技術的な注意として、画面全体のサイズが OpenGL で 1 平方単位として表されているのに、なぜこれが int を返すのでしょうか?
1 に答える
3
おそらくOpenGLにアクセスするために使用しているツールキットであるGLUTまたはGLFWは、ウィンドウを管理します。彼らは現在のビューポートがどのように見えるかを知りません-一体、ウィンドウの4分の1だけにレンダリングすることさえできます。GLUT / GLFWがOpenGL座標を気にかけているとしたら、それはあなたの座標をかなりひどく台無しにするでしょう!幸いなことに、彼らはしません。取得している座標x
と座標は、ウィンドウ上の実際のピクセル座標であり、Y軸が下に向かって、左上にあるy
と思います。(0, 0)
マウスの座標はOpenGLから完全に分離されています。
GLint
それでも、 aGLfloat
をusingに変換できますfromIntegral
。
于 2012-04-24T19:23:01.013 に答える