Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

Alpha blending

$
0
0
Hello, I am trying to pass color values as attributes to fragment shader in order to implement a custom geometry gradient with alpha blending using QSGSimpleMaterial and QSGSimpleMaterialShader. The problem is that where there is low opacity the resulting color goes to white. I suspect this is because the alpha blending is not happening correctly but the color at a fragment is getting added to the destination color and gets saturated to white. How can I prevent this? Is there a way to access the destination color or the background color (not gl_Fragcolor) in the fragment shader somehow to be able to change the alpha blending? My code looks like this… vertice shader: attribute highp vec4 pos; attribute highp vec4 color; uniform highp mat4 qt_Matrix; varying highp vec4 vC; void main(void) { gl_Position = qt_Matrix * pos; vC = color; } fragment shader: uniform lowp float qt_Opacity; varying highp vec4 vC; void main(void) { gl_FragColor = vC * qt_Opacity; } Any help appreciated, thanks!

Viewing all articles
Browse latest Browse all 4972

Trending Articles