2012-04-24 112 views
1

我想在使用OpenGL的Haskell中使用鼠標監聽器,並且遇到了問題。顯然x和y座標的返回值是GLint。問題在於使用這些,因爲我需要一個GLfloat。簡單的解析似乎不能解決問題。在更多的技術說明中,爲什麼當OpenGL中只有1平方的單位表示整個屏幕大小時,它會返回一個int值?OpenGL鼠標監聽器返回

+1

OpenGL沒有「鼠標」的概念。 – genpfault 2012-04-24 19:39:10

回答

3

GLUT或GLFW是您可能用於訪問OpenGL的工具包,它爲您管理窗口。他們不知道當前的視圖端口是什麼樣的 - 哎,你甚至可以渲染到窗口的四分之一,如果GLUT/GLFW關心OpenGL座標,那麼會讓你的座標變得非常糟糕!幸運的是,他們沒有;你得到的xy座標是窗口上的實際像素座標,我認爲(0, 0)甚至位於左上角,Y軸向下。鼠標座標與OpenGL完全分離。

儘管如此,您可以使用fromIntegralGLint轉換爲GLfloat