1
我想在使用OpenGL的Haskell中使用鼠標監聽器,並且遇到了問題。顯然x和y座標的返回值是GLint。問題在於使用這些,因爲我需要一個GLfloat。簡單的解析似乎不能解決問題。在更多的技術說明中,爲什麼當OpenGL中只有1平方的單位表示整個屏幕大小時,它會返回一個int值?OpenGL鼠標監聽器返回
我想在使用OpenGL的Haskell中使用鼠標監聽器,並且遇到了問題。顯然x和y座標的返回值是GLint。問題在於使用這些,因爲我需要一個GLfloat。簡單的解析似乎不能解決問題。在更多的技術說明中,爲什麼當OpenGL中只有1平方的單位表示整個屏幕大小時,它會返回一個int值?OpenGL鼠標監聽器返回
GLUT或GLFW是您可能用於訪問OpenGL的工具包,它爲您管理窗口。他們不知道當前的視圖端口是什麼樣的 - 哎,你甚至可以渲染到窗口的四分之一,如果GLUT/GLFW關心OpenGL座標,那麼會讓你的座標變得非常糟糕!幸運的是,他們沒有;你得到的x
和y
座標是窗口上的實際像素座標,我認爲(0, 0)
甚至位於左上角,Y軸向下。鼠標座標與OpenGL完全分離。
儘管如此,您可以使用fromIntegral
將GLint
轉換爲GLfloat
。
OpenGL沒有「鼠標」的概念。 – genpfault 2012-04-24 19:39:10