Создаю я фбо, рисую в нём то что мне надо, вывожу на основной экран - там получается моё изображение с чёрным фоном(который перекрывает то что у меня было нарисовано до этого), так у меня вопрос как этот чёрный фон сделать прозрачным, накладывать альфа-маску или же есть более простой метод? помогите пожалуйста, а то сколько гуглю не могу найти решение:(Добавлено (03.04.2013, 00:33)
---------------------------------------------
Разобрался сам, проблема была в шейдере, который я, не вникая, списал, там у меня в поле альфа стояла единица, поэтому отрисовывалось с фоном. Собственно мой вопрос исчерпан, если по теме больше нечего спросить, то можно закрывать. 
 было 
Код
uniform sampler2D u_texture; 
 uniform float resolution; 
 uniform float radius; 
 uniform vec2 dir; 
 void main(){ 
  vec4 sum = vec4(0.0); 
  vec2 tc = gl_TexCoord[0]; 
  float blur = radius/resolution; 
  float hstep = dir.x; 
  float vstep = dir.y; 
  sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162; 
  sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541; 
  sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216; 
  sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; 
  sum += texture2D(u_texture, vec2(tc.x, tc.y)) * 0.2270270270; 
  sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; 
  sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216; 
  sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541; 
  sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162; 
   
         gl_FragColor = vColor * vec4(sum.rgb, 1.0); 
 } 
 
 стало Код
uniform sampler2D u_texture; 
 uniform float resolution; 
 uniform float radius; 
 uniform vec2 dir; 
 void main(){ 
  vec4 sum = vec4(0.0); 
  vec2 tc = gl_TexCoord[0]; 
  float blur = radius/resolution; 
  float hstep = dir.x; 
  float vstep = dir.y; 
  sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162; 
  sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541; 
  sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216; 
  sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; 
  sum += texture2D(u_texture, vec2(tc.x, tc.y)) * 0.2270270270; 
  sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946; 
  sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216; 
  sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541; 
  sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162; 
     
   gl_FragColor = gl_Color * sum; 
 }