我有一个碎片着色器,运行在25英尺左右。如果屏幕分辨率较低,我猜着色器会运行得更快。有没有办法让我的着色器在低分辨率屏幕上运行?因此,从本质上说,为了获得性能,牺牲细节--输出会更好--。
发布于 2014-05-20 01:40:56
您还可以进行其他优化(比如呈现较少的原语)
但是,如果您想以较低的分辨率呈现,那么您应该首先呈现到屏幕外的低分辨率帧缓冲区,然后用该缓冲区作为全屏四角体上的纹理重新呈现,使其具有完全分辨率。
编辑:查看您的代码,您可以执行以下操作:
varrying vec3 f_color
输出,在片段着色器中将gl_FragColor设置为该输出。发布于 2014-05-20 01:56:10
从请求的语气来看,我猜想你对OpenGL的要求是新的(因为关于分辨率的要求是非常基本的,而不是有意的,我们都是以某种方式开始的):棘轮怪胎的答案是正确的(在低分辨率的纹理上显示纹理的->render是对分辨率问题的直接回答),然而,正如棘轮怪胎所暗示的那样,你可能应该寻找解决问题的其他方法(因为降低碎片着色器的分辨率会使您的输出看起来很糟糕的™)。
一些提示:
你可以试着在你的问题中张贴你的片段着色器。
希望这能有所帮助
https://stackoverflow.com/questions/23755909
复制