Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在3D世界中的显示器上的固定位置绘制2D文本-OpenGL 我在C++中创建了一个非常简单的OpenGL游戏,3D模型在3D世界中移动。我必须在屏幕上显示一些2D文本:相机一直在跟踪模型,我希望文本显示在相对于窗口的固定位置_C++_Opengl_Text_3d - Fatal编程技术网

在3D世界中的显示器上的固定位置绘制2D文本-OpenGL 我在C++中创建了一个非常简单的OpenGL游戏,3D模型在3D世界中移动。我必须在屏幕上显示一些2D文本:相机一直在跟踪模型,我希望文本显示在相对于窗口的固定位置

在3D世界中的显示器上的固定位置绘制2D文本-OpenGL 我在C++中创建了一个非常简单的OpenGL游戏,3D模型在3D世界中移动。我必须在屏幕上显示一些2D文本:相机一直在跟踪模型,我希望文本显示在相对于窗口的固定位置,c++,opengl,text,3d,C++,Opengl,Text,3d,我尝试使用Nehe的教程,但在这种情况下,gluLookAt处于固定位置(从“高”看,向下看),文本显然显示正确 不幸的是,我没有成功地用glRotatef/gltranslateef做我想做的事情 有人能帮我吗?相机移动时,如何在固定位置显示文本? 我已经在其他线程中寻找了一个解决方案,但我没有在任何线程中找到合适的解决方案(特别是,在我的情况下,利用glut函数的解决方案似乎不起作用,这是非常常见的) 我还假设我已经实现了构建/消除字体等的所有功能,正如我所遵循的Nehe教程中所解释的那样

我尝试使用Nehe的教程,但在这种情况下,gluLookAt处于固定位置(从“高”看,向下看),文本显然显示正确

不幸的是,我没有成功地用glRotatef/gltranslateef做我想做的事情

有人能帮我吗?相机移动时,如何在固定位置显示文本? 我已经在其他线程中寻找了一个解决方案,但我没有在任何线程中找到合适的解决方案(特别是,在我的情况下,利用glut函数的解决方案似乎不起作用,这是非常常见的)

我还假设我已经实现了构建/消除字体等的所有功能,正如我所遵循的Nehe教程中所解释的那样

编辑: 我附上我刚写的代码。不幸的是,它不工作,但我不明白为什么(实际上我不明白光栅位置到底是如何工作的)


最简单的方法是使用
glWindowPos()
而不是
glRasterPos()
来设置当前光栅位置
glWindowPos()
允许您指定窗口坐标中的位置,以像素为单位

例如,要将原点位于左下角时的位置设置为(100100),请执行以下操作:

glWindowPos2i(100, 100);

当前转换对该调用没有影响。

您可以使用其他视图矩阵来呈现文本。先按现在的方式绘制场景,然后将矩阵更改为正交投影和适当的视图矩阵并绘制文本。谢谢您的回答。我刚刚用我编写的代码更新了我的问题,但它不起作用。它可能是我问题的解决方案,但我无法直接利用它,因为Microsoft无法解释地缺少对openGL 1.2以上版本的支持。我寻找了一些关于如何使用它的解决方案,如本讨论的最后一篇文章(),但尽管它在包含glew.h后编译正确,但我在屏幕上看不到任何文本(我使用了一个自定义glPrint例程来显示文本)
glWindowPos2i(100, 100);