【问题标题】:gl_PointCoord has incorrect/uninitialized valuegl_PointCoord 的值不正确/未初始化
【发布时间】:2012-11-03 20:31:41
【问题描述】:

我无法在片段着色器的 gl_PointCoord 变量中获取有效值。我使用 libgdx,它是一个跨平台的 java 框架,它允许在桌面和 android 上运行相同的应用程序。着色器在 android 上与 OpenGL ES 一起工作正常,只有桌面似乎没有提供正确的插值但始终为零。

这可能是 libgdx 或图形驱动程序的问题吗?

英伟达 Quadro 3000M 驱动程序 275.33 Win 7 64 位 (Service Pack 1)

libgdx-0.9.6

【问题讨论】:

  • 这是一个愚蠢的问题:你在画吗?这些点有实际大小吗?无论如何,您没有提供足够的信息来回答这个问题。
  • 是的,我是一个绘图点,它有一个实际大小。在带有opengl es的android上,它渲染得很好;即我能够对精灵进行纹理处理,因为我在 gl_PointCoord 中获得了有意义的值。在桌面上,它似乎总是为零。我可以使用 gl_PointCoord 作为片段着色器中的颜色值并得到一个黑色方块。这也支持我有一个有效的大小:我可以看到精灵,但它不能使用 gl_PointCoord 进行纹理处理,因为它似乎没有初始化......

标签: opengl libgdx


【解决方案1】:

fyi:还没有做太多研究,但似乎是 lwjgl 中的一个错误或 gl_PointCoord 仅在通过启用点精灵模式时可用的驱动程序

Gdx.gl20.glEnable(GL11.GL_POINT_SPRITE_OES);

这在 OpenGL 4.2 或 OpenGL ES 2.0 中不可用,但似乎需要在桌面上显式设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 2012-06-17
    • 2022-01-22
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多