我正在修改一个matlab代码。它使用 Psychtoolbox 显示图形,基本上可以创建一个屏幕窗口。我要改编的代码使用了 Matlab OpenGL 工具箱提供的高级 Psychtoolbox 命令和低级 OpenGL 调用。我熟悉 Psychtoolbox,一点也不熟悉 OpenGL。
Psychtoolbox 中的坐标以像素为单位,从屏幕左上角 (0,0) 开始,向右 (x) 和向下 (y) 移动。
我只需要 OpenGL 坐标的 Matlab 实现和 Psychtoolbox 基于像素的坐标之间的转换。网上有一些问题和答案以及许多关于此的资源,但我仍然感到困惑。
例如,据我了解,OpenGL 使用范围在 [-1, 1] 之间的归一化坐标。但是,在我正在调整的代码中,尽管 y = -1.5,但仍能很好地显示某些内容。
所以我的问题是:
- 如何在 Matlab 的 OpenGL 和 Matlab 的 Psychtoobox 坐标之间进行转换?
- Matlab中的OpenGL坐标可以超出[-1, 1]范围吗?