Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用 OpenGL 在 Haskell 中使用鼠标侦听器,但遇到了问题。显然,x 和 y 坐标的返回值是 GLint。问题在于使用这些,因为我需要一个 GLfloat。简单的解析似乎无法解决问题。在更技术性的说明中,当屏幕的整个大小在 OpenGL 中仅表示为 1 个正方形单位时,为什么这会返回一个 int 呢?
GLUT 或 GLFW 是您可能用于访问 OpenGL 的工具包,它们为您管理窗口。他们不知道当前视口是什么样的——哎呀,你甚至可以只渲染四分之一的窗口;如果 GLUT/GLFW 关心 OpenGL 坐标,那会让你的坐标非常混乱!幸运的是,他们没有;你得到的x和坐标是窗口上的实际像素坐标,我认为它甚至在左上角,Y轴向下。鼠标坐标与 OpenGL 完全分离。y(0, 0)
x
y
(0, 0)
尽管如此,您可以将 aGLint转换为GLfloatusing fromIntegral。
GLint
GLfloat
fromIntegral