c++ - 相对于相机位置绘制

标签 c++ opengl

最近我的老板让我修改一个 opengl 应用程序。 它使用 gluLookAt 来设置相机位置。 我必须绘制一个相对于该位置的工具栏,以便用户始终可以看到它。

我几乎是 openGL 的初学者,所以我真的不知道哪个更容易,是自己完成所有平移和旋转以便我可以在相机视野中绘制对象,还是使用投影和 View 矩阵?我设法使用 glGetFloatv 命令获得了投影和 View 矩阵,但老实说,我不知道如何使用它们来进行所需的转换。我可以只使用基本的平移和旋转命令,但我认为使用这些矩阵会更容易。

如有任何答复,我将不胜感激:)

最佳答案

可能更容易的是在绘制 3D 场景后更改投影和模型 View 矩阵。将投影矩阵更改为 glOrtho2D,并将模型 View 更改为适合屏幕大小,然后绘制工具栏。有关详细信息,请参阅此处的答案:

Opengl drawing a 2d overlay on a 3d scene problem

关于c++ - 相对于相机位置绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584318/

相关文章:

c++ - 检查无用包含文件的工具是什么?(c++)

c++ - 控制台输出某个值 - 如果在它之后直接声明不使用相同的值

c++ - 使用 C++ 迭代器访问元素

c++ - OpenGL 给出无效的图像格式

c++ - 在VS2010 C++中解析 "found ' {' at file scope (missing function header?)"

c++ - 将位写入文件?

OpenGL - 各个颜色附件有不同的透明颜色?

opengl - 通过几何着色器传递变化的变量

c++ - 断言加载文件失败

c++ - OpenGL 和 Glut 中的空白屏幕