我有一个带有左上坐标系的 OpenGL 场景。当我 glScale 它从 (0,0) 左上角放大。我希望它从鼠标坐标(相对于 OGL 框架)开始放大。这是怎么做到的? 谢谢
最佳答案
我相信这可以通过四个步骤完成:
- 使用您的窗口系统(即 GLUT 或 SDL)具有的任何功能找到鼠标的 x 和 y 坐标,并使用 gluUnProject 获取与这些窗口坐标对应的对象坐标
- 平移 (x,y,0) 以将原点置于这些坐标处
- 按您想要的 vector (i,j,k) 缩放
- 平移 (-x,-y,0) 将原点放回左上角
关于c++ - 放大鼠标的算法(OpenGL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2982985/