【发布时间】: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