【问题标题】:OpenGL: How to make text appear at the same pixels regardless of camera orientation?OpenGL:无论相机方向如何,如何使文本出现在相同的像素上?
【发布时间】:2010-09-28 23:24:44
【问题描述】:

我有在 OpenGL 中成功渲染的文本:

    GLUT glut = new GLUT();
    gl.glRasterPos2d(10, 10);
    glut.glutBitmapString(GLUT.BITMAP_HELVETICA_18, "We're going to the moon!");

无论相机方向如何,我都希望此文本出现在用户屏幕上的相同位置(占用相同的像素)。我该怎么做呢?

(我正在使用 JOGL。)

【问题讨论】:

  • 我评论了我对您上一个问题的回答。我认为诀窍是改用glWindowPosglRasterPos 使传入的点使用当前的模型视图和投影矩阵进行转换。
  • 好的,抱歉,我不确定 SO 礼仪是否要求我提出新问题。
  • 另外,你的答案是正确的。谢谢。

标签: java opengl graphics jogl


【解决方案1】:

试试这个(我不懂 Java,警告):

glPushMatrix() //save the camera state
glLoadIdentity()
//draw your text here
glPopMatrix() //restore the camera state

这会将相机位置重置为glLoadIdentity() 调用之后的任何渲染命令的原点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2015-05-14
    • 2015-04-07
    相关资源
    最近更新 更多