GLSL - 尝试混合顶点颜色的光照贴图和纹理

时间:2015-04-19 17:02:14

标签: opengl glsl rendering blending

我正在使用旧的游戏格式,并尝试完成渲染项目。我正在研究照明,并试图在我的着色器中进行多重混合模式。

照明以顶点值的形式提供,它们在三角形上插值。

我拍摄了一个不亮的场景的截图,只是光照贴图并将它们放在Photoshop中,并带有一个多层图层。它提供了我想要的。 我也想要考虑环境光,这有点像一个不透明的'在Photoshop颜色图层上。 我尝试过将它们相乘,效果很好,但是我希望能够控制光照贴图的数量。我尝试混合,它只混合了光照贴图和纹理,但没有混合多种颜色。

以下是图片。第一个是漫反射,第二个是光照贴图,第三个是与光照贴图以50%不透明度组合。 http://imgur.com/Zwg9IZr,6hq0t0p,7hR88I2#0 [1]

所以,我的问题是,如何将这些与多种环境光相混合?不透明度"因子。同样,我尝试过直接混音,但它更多的是叠加,而不是多重混合。 我的GLSL片段来源:

#version 120

uniform sampler2D texture;
varying vec2 outtexture; in vec4 colorout;
void main(void)
{
    float ambient = 1.0f;

    vec4 textureColor = texture2D(texture, outtexture);
    vec4 lighting = colorout;

    // here is where I want to blend with the ambient light dictating the contribution from each
    gl_FragColor = textureColor * lighting;
}    

0 个答案:

没有答案