我基本上有两个纹理,一个基础和一个覆盖。我需要两个绘制他们到一个新的纹理。在opengl中绘制两个纹理到一个新纹理
所以,如果纹理1是:
AAAAA
BBBBB
CCCCC
和质地2:
B
B
A
那么它应该返回:
ABAAA
BBBBB
CACCC
除了将它与实际的纹理,不是信件。
(注:空字符是透明度,它们会被忽略)
更新1:
我不能使用着色器,因为这是一个改装的环境,我需要绑定的纹理是由外部渲染器绘制。那有意义吗?
更新2:
用于第二图像的Alpha可以是任何东西。 0.0或透明意味着什么也不做,并使用第一张图片,否则使用第二张图片
您在寻找的是混合https://www.opengl.org/wiki/Blending。基本上你首先绘制一个具有纹理1的四边形,然后绘制一个具有纹理2的四边形,其中来自纹理2的颜色由α值加权。因此,如果纹理2的alpha值为0,则会看到纹理1,如果alpha值为1,则会看到纹理2. – dari 2014-12-27 17:40:17
这可以使用多纹理或着色器(但不会创建单个输出纹理)。纹理2使用什么样的透明度?只是** 0.0 **和** 1.0 **? _你可以解释为什么他们需要合并成一个纹理,而两者同时应用?_ – 2014-12-27 17:40:34