我正在使用Arm Mali GPU实现这个Windows aero主题 按照这个图像,我想要这样的效果 结帐http://vistastyles.org/wp-content/uploads/2007/06/windows_aero_by_blingboy31.jpg
我的问题是如何识别图像的哪个区域(顶部)与图像混合(底部) 可能有多个图像重叠,所以我需要对每个图像或图层进行加权来识别要显示的模糊量。??
&安培;我如何绘制图像?我需要先画出背景的模糊图像吗?然后正常的图像或其他方式??
任何帮助都是明确的......
第2季 / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * / 好吧,我尝试了datenWolf的方式,但坚持使用模糊着色器
我使用这个片段着色器进行模糊处理,但它没有给出精确的半透明效果,我希望得到
#version 120
uniform sampler2D sceneTex;
uniform float rt_w;
uniform float rt_h;
uniform float vx_offset;
float offset[3] = float[]( 0.0, 1.3846153846, 3.2307692308 );
float weight[3] = float[]( 0.2270270270, 0.3162162162, 0.0702702703 );
void main()
{
vec3 tc = vec3(1.0, 0.0, 0.0);
if (gl_TexCoord[0].x<(vx_offset-0.01))
{
vec2 uv = gl_TexCoord[0].xy;
tc = texture2D(sceneTex, uv).rgb * weight[0];
for (int i=1; i<3; i++)
{
tc += texture2D(sceneTex, uv + vec2(offset[i])/rt_w, 0.0).rgb * weight[i];
tc += texture2D(sceneTex, uv - vec2(offset[i])/rt_w, 0.0).rgb * weight[i];
}
}
else if (gl_TexCoord[0].x>=(vx_offset+0.01))
{
tc = texture2D(sceneTex, gl_TexCoord[0].xy).rgb;
}
gl_FragColor = vec4(tc, 1.0);
}
我正在寻找此链接中显示的模糊效果 http://incubator.quasimondo.com/processing/superfast_blur.php
但是这个软件算法在我的代码中不起作用,对模糊着色器有任何帮助这种效果会有所帮助,我在Arm mali上使用OpenGLES 2.0
答案 0 :(得分:2)
窗口组合中没有涉及检测过程。每个窗口都可以作为单独的纹理使用,窗口按照深度顺序绘制,使用中间的模糊步骤。
这是完成的。整个屏幕有两个帧缓冲对象 A 和 B 。 Foreach 窗口
按深度顺序重复每个窗口。基本上这可以作为一些纹理开关出现,虽然它们有点贵,但屏幕上(重叠)窗口的数量总是在合理的数字范围内,所以这不是一个真正的问题。