真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

基于Qt的OpenGL可編程管線學(xué)習(xí)(16)-柔光、強(qiáng)光、疊加

1、柔光

成都創(chuàng)新互聯(lián)是專業(yè)的錯(cuò)那網(wǎng)站建設(shè)公司,錯(cuò)那接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行錯(cuò)那網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

shader

//柔光
uniform sampler2D U_MainTexture;
uniform sampler2D U_SubTexture;

varying vec2 M_coord;

void main()
{
        vec4 blendColor = texture2D(U_SubTexture, M_coord);
        vec4 baseColor = texture2D(U_MainTexture, M_coord);
        gl_FragColor = 2.0 * blendColor * baseColor + baseColor * baseColor -
                        2.0 * baseColor * baseColor * blendColor;
}

效果圖

基于Qt的OpenGL可編程管線學(xué)習(xí)(16)- 柔光、強(qiáng)光、疊加

2、強(qiáng)光

shader

//強(qiáng)光
uniform sampler2D U_MainTexture;
uniform sampler2D U_SubTexture;

varying vec2 M_coord;

void main()
{
        vec4 blendColor = texture2D(U_SubTexture, M_coord);
        vec4 baseColor = texture2D(U_MainTexture, M_coord);
        vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721);
        float  luminance = dot(blendColor.rgb, lumCoeff);
        if (luminance < 0.45)
        {
                gl_FragColor = 2.0 * blendColor * baseColor;
        }
        else if (luminance > 0.55)
        {
                gl_FragColor = vec4(1.0) - 2.0 * (vec4(1.0) - baseColor) * (vec4(1.0) - blendColor);
        }
        else
        {
                vec4 color1 = 2.0 * blendColor * baseColor;;
                vec4 color2 = vec4(1.0) - 2.0 * (vec4(1.0) - baseColor) * (vec4(1.0) - blendColor);
                gl_FragColor = mix(color1, color2, (luminance -0.45) * 10.0);
        }
}

效果圖

基于Qt的OpenGL可編程管線學(xué)習(xí)(16)- 柔光、強(qiáng)光、疊加

3、疊加

shader

//疊加
uniform sampler2D U_MainTexture;
uniform sampler2D U_SubTexture;

varying vec2 M_coord;

void main()
{
        vec4 blendColor = texture2D(U_SubTexture, M_coord);
        vec4 baseColor = texture2D(U_MainTexture, M_coord);
        vec3 lumCoeff = vec3(0.2125, 0.7154, 0.0721);
        float  luminance = dot(baseColor.rgb, lumCoeff);
        if (luminance < 0.45)
        {
                gl_FragColor = 2.0 * blendColor * baseColor;
        }
        else if (luminance > 0.55)
        {
                gl_FragColor = vec4(1.0) - 2.0 * (vec4(1.0) - baseColor) * (vec4(1.0) - blendColor);
        }
        else
        {
                vec4 color1 = 2.0 * blendColor * baseColor;;
                vec4 color2 = vec4(1.0) - 2.0 * (vec4(1.0) - baseColor) * (vec4(1.0) - blendColor);
                gl_FragColor = mix(color1, color2, (luminance -0.45) * 10.0);
        }
}

效果圖

基于Qt的OpenGL可編程管線學(xué)習(xí)(16)- 柔光、強(qiáng)光、疊加


當(dāng)前題目:基于Qt的OpenGL可編程管線學(xué)習(xí)(16)-柔光、強(qiáng)光、疊加
文章來(lái)源:http://weahome.cn/article/jcgcjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部