在OpenGL中实现HCI的好方法是什么?
我想尝试为我现有的OpenGL应用程序实现一些HCI。如果可能的话,菜单应该出现在我的3D图形的前面,这将是在背景中 我想直接在“相机”前面画一个正方形,然后在“基础”正方形的顶部画纹理或更多的灵长类动物 菜单处于活动状态时,相机无法移动,因此相机不会从菜单向外看在OpenGL中实现HCI的好方法是什么?,opengl,hci,Opengl,Hci,我想尝试为我现有的OpenGL应用程序实现一些HCI。如果可能的话,菜单应该出现在我的3D图形的前面,这将是在背景中 我想直接在“相机”前面画一个正方形,然后在“基础”正方形的顶部画纹理或更多的灵长类动物 菜单处于活动状态时,相机无法移动,因此相机不会从菜单向外看 这听起来是不是太让人着迷了,还是我走对了方向?其他人会怎么做?我只想glPushMatrix,glLoadIdentity,画你的画,然后glPopMatrix,不用担心你的相机在哪里 您还需要禁用并重新启用深度测试、照明等功能,我只
这听起来是不是太让人着迷了,还是我走对了方向?其他人会怎么做?我只想
glPushMatrix
,glLoadIdentity
,画你的画,然后glPopMatrix
,不用担心你的相机在哪里
您还需要禁用并重新启用深度测试、照明等功能,我只需
glPushMatrix
,glLoadIdentity
,绘制图形,然后glPopMatrix
,而不必担心相机的位置
您还需要禁用并重新启用深度测试、照明等功能。有库可以执行此操作(无个人体验)或者,如果您使用的是Qt,则可以在OpenGL模型上透明地呈现Qt窗口小部件,也可以在OpenGL中呈现所有Qt。有库可以做到这一点(无个人体验)
或者,如果您使用的是Qt,则可以在OpenGL模型上透明地呈现Qt窗口小部件,也可以在OpenGL中呈现所有Qt。您还可以进行所有3d渲染,然后切换到正交投影并绘制所有菜单对象。这比你建议的把所有的东西都放在一个巨大的广告牌上要容易得多
查看标题“投影变换”。您也可以进行所有3d渲染,然后切换到正交投影并绘制所有菜单对象。这比你建议的把所有的东西都放在一个巨大的广告牌上要容易得多 查看标题“投影变换”。如前所述,您需要在x和y方向应用0.375的平移,以获得像素完美对齐:
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, width, 0, height);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.375, 0.375, 0.0);
/* render all primitives at integer positions */
算法很简单:
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, width, 0, height);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.375, 0.375, 0.0);
/* render all primitives at integer positions */
算法很简单: