【问题标题】:OpenGL 2D textures jittering/pulsingOpenGL 2D 纹理抖动/脉冲
【发布时间】:2016-10-04 07:31:25
【问题描述】:

我目前正在开发一个名为 Regula 的 2D 游戏引擎。我刚刚完成了一个批处理渲染系统,它可以渲染以 32 个批次提交给它的 2D 纹理。在测试它渲染超过 32 个纹理的能力时,我发现渲染的纹理似乎是脉冲或抖动的。这种效果是不受欢迎的并且非常烦人。当相机移动时,它似乎发生得更多。此外,如果相机位于特定位置,有时纹理上会出现小瑕疵。我一直在尝试纠正这个问题一段时间,但一直未能成功。

Here is a rather boring video illustrating the effect.

您可以在 Regula 的 GitHub 存储库 here 找到该引擎的所有源代码。 感兴趣的文件是:

  • Regula\Regula\Inc\Regula\Graphics\BatchRenderer.h
  • Regula\Regula\Src\Graphics\BatchRenderer.cpp
  • Regula\RegulaTestBench\Inc\Game.h
  • Regula\RegulaTestBench\Src\Game.cpp
  • 也可能是 Regula\Graphics 中的 Camera2D 类
  • 可能是 ShaderManager 类
  • 或 Regula\RegulaTestBench\Resources\Shaders\DefaultSprteShader.vert/frag 中的着色器

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 可能存在浮点下溢或取消错误。

标签: c++ opengl game-engine texture2d freeimage


【解决方案1】:

大多数人没有或忘记启用垂直同步。尝试在创建窗口时启用 glfwSwapInterval(1)。

【讨论】:

  • 嘿,我尝试启用垂直同步,但不幸的是问题仍然存在。抱歉,有点忙,刚刚高中毕业。
猜你喜欢
  • 2011-08-25
  • 1970-01-01
  • 2019-04-02
  • 2014-10-23
  • 1970-01-01
  • 2013-09-20
  • 2011-01-11
  • 2012-03-13
  • 2015-07-06
相关资源
最近更新 更多