我有一个片段着色器,大约运行在25fps的速度。如果屏幕分辨率更低,我猜想着色器会运行得更快。有没有办法让我的着色器认为它正在运行在低分辨率的屏幕上?因此可以牺牲细节-输出结果将更加方块化-以获得更好的性能。
你可以进行其他优化(如渲染更少的基元),但如果想以较低分辨率渲染,则应先在屏幕外缓冲区中以较低分辨率进行渲染,然后将该缓冲区作为纹理重新渲染至全屏分辨率。
编辑:根据您的代码,您可以执行以下操作:
将代码移动到顶点着色器中,并将结果传递到 varrying vec3 f_color
输出,然后在片段着色器中设置 gl_FragColor
创建一个均匀网格,其三角形位于 -1,-1 和 1,1 之间,其中三角形数量取决于所需分辨率
绘制该网格
您可以尝试在问题中发布片段着色器
希望这能有所帮助