【问题标题】:GL_POINT_SIZE_RANGE workaround using OpenGL?使用 OpenGL 的 GL_POINT_SIZE_RANGE 解决方法?
【发布时间】:2012-02-18 18:13:10
【问题描述】:

我使用glPointSize 将我在游戏中发射的光子的大小设置为大约 3 像素。这很方便,因为我可以放大和缩小,以世界坐标绘制其他所有内容,并且光子仍然很容易看到。

但是在某些平台上(我真正的旧 linux 笔记本电脑)GL_POINT_SIZE_RANGE 仅限于一个像素。我需要另一种绘制光子的方法,否则我可能必须在世界坐标中将它绘制为一个实心圆,它的大小会根据缩放级别而变化,并且在缩小时可能会变得难以看到。

有解决办法吗?

【问题讨论】:

  • 我能想到的唯一解决方法是你提到的那个。除了“实心圆”,您还可以将其绘制为带纹理的四边形或三角形,以节省一些顶点。
  • 谢谢Thomas,我全力保存几个顶点!

标签: c++ linux opengl


【解决方案1】:

您可以使用保存然后恢复用于转换的矩阵。

glPushMatrix();
//apply viewing transformations (e.g. in photon's coordinate system)
//and draw your photon here
glPopMatrix();  //restores back where you were working.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2016-02-22
    • 1970-01-01
    • 2012-01-05
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多