分别将两个图像渲染到屏幕上

时间:2014-10-27 10:29:05

标签: opengl glsl vertex-shader coordinate

我想在屏幕上同时在不同的位置渲染两个纹理,但是,我对顶点坐标感到困惑。

我怎么能写一个顶点着色器来达到我的目标?

1 个答案:

答案 0 :(得分:1)

只是将"两张图片分别发给屏幕" 位...

纹理将图像颜色映射到几何体上。要迂腐,你不能绘制纹理,但你可以blit,你可以使用映射纹理绘制几何体(使用每顶点texture coordinates)。

您可以在绘制时一次绑定两个纹理,但是您需要同时使用第二组纹理坐标并处理它们的混合方式(或者在您的情况下不要混淆)。即使这样,着色器也将非常具体,并且因为图像是分开的,所以对于每个像素运行不必要的代码来处理另一个图像。想要绘制3张图像或100张时会发生什么?

相反,只需绘制一个带有一个图像两次的四边形(在绘制之前依次绑定每个纹理)。除非你正在抽签,否则开销会很小,此时你可能会看一下纹理图集并用一次绘制调用绘制所有几何图形(真正朝着"同时#34; ; 问题的一部分)。